RatingControl
Jednoduchá třída na vykreslení „hvězdičkového“ hodnocení (např. pro články, produkty, videa, atd.)
| Download | RatingControl-0.2.1.zip |
| Verze | 0.2 |
| Demo | zde |
| Forum thread | http://forum.nette.org/…atingcontrol |
| Autor | Radek Ježdík |
| Licence | New BSD License |
Ukázka
Ukázka Rating Control v příkladu z downloadu.
Instalace
Stáhněte si komprimovanou složku z této stránky a rozbalte ji. Složka Example je funkční řešení v Nette aplikaci (RatingModel není připojen k databázi – vrací pevná data). Složka RatingControl obsahuje samotnou komponentu + JavaScriptový soubor pro jQuery (přechod myší přes hvězdičky). Komponentu umístěte do vhodné složky ve vašem projektu (např. controls)
Použití
RatingControl funguje na principu jediné instance třídy RatingControl. Více hodnocení na stránce je řešeno pomocí metody render, které se předává jedinečné ID (např. ID produktu, článku, atd.) nebo samotný objekt (např. instance třídy Product, Article, atd.). O získání dat a vložení hodnocení se stará interface IRatingModel, který je nutno implementovat (všechny metody IRatingModel jsou popsány v souboru IRatingModel.php; popřípadě se lze inspirovat příkladem RatingModel.php ve složce Example). Instanci Rating modelu je pak nutné předat instanci RatingControl metodou setRatingModel().
Použití v aplikaci se pak rovná vytvoření komponenty přes továrničku a v šabloně nechat vykreslit hodnocení pro dané ID/objekt:
protected function createComponentRating($name) {
$rating = new RatingControl($this, $name);
$rating->setRatingModel(new RatingModel);
}
{foreach $products as $product}
<h3>{$product->title}</h3>
{widget rating $product}
{* nebo *}
{widget rating $product->id}
{/foreach}
Ajax
RatingControl podporuje ajaxové vložení nového hodnocení na základě skriptu jquery.nette.js (viz Doplňky), kde pro každý odkaz s CSS třídou ‚ajax‘ je url odkazu volána ajaxově.
Připojené soubory
- rating-control-0.2.1.zip 38 kB
