Pro práci jak v developerském, tak v administrátorském rozhraní doporučujeme používat internetový prohlížeč Mozilla Firefox, na jehož základě je vzhledem ke stabilitě, dodržování standardů konzorcia W3C a ochranným prvkům prohlížeče celý software vyvíjen.
Technologie AJAX (Asynchronous JavaScript And XML) umožňuje pomocí JavaScriptu načítat části obsahu stránek, aniž by muselo dojít k znovunačtení celé stránky. Vzhledem k tomu, že různé prohlížeče mají AJAX naimplementovaný rozličným způsobem, zapouzdřuje Visual PHP™ tuto technologii do objektu AJAX, který lze pomocí JavaScriptu využít.
Skript m_shop_purchase je již připraven pro použití AJAX, stačí tedy naimplementovat několik pomocných layoutů pro zobrazování stavu košíku, upravit šablony, nastavit DIV, který bude informovat o samotném přidání a přidat JavaScriptovou funkci, která bude veškeré přidávání a zobrazování řídit.
Zvolte si místo, kde budete chtít zobrazovat informace o aktuálním zboží v košíku a umístěte na toto místo div, kterému nastavte id například m_shop_cart. Identifikátor je v tomto divu velice důležitý, protože pomocí AJAX budeme měnit obsah tohoto divu po kliknutí na tlačítko pro přidání zboží do košíku. Do tohoto divu pak umístěte komponentu Include Layout a nastavte jí ve vlastnostech komponenty Název na hodnotu m_shop_cart a do Pořadí zpracování vyberte poslední. Tím zabezpečíme, že se layout zpracuje až po volání všech původních skriptů pro samotné vložení zboží do košíku.Počet položek v košíku:
{php: getTable("m_shop_order_items")->getRecordCount("filter=customer='".$User->login."' AND parent IS NULL")}
<br />
Celková cena:
{php: $record = getTable("m_shop_order_items")->getRecord("filter=customer='".$User->login."' AND parent IS NULL,fields=SUM(taxPriceTotal) AS sum_price"); return(formatNumber($record["sum_price"])." Kč")}
<br />
<a href='m_shop.php'>Přejít do košíku</a>
Tento layout obsahuje dva inline PHP skripty, které z databáze načítají a zobrazují počet položek a celkovou cenu zboží v košíku.function addToCart(id, count)
{
var params = {
'tableName' : 'scripts',
'tid' : 'm_shop_purchase',
'm_shop_actionType' : 'addItem',
'm_shop_id' : id,
'm_shop_count' : count
};
var count = AJAX.getContent('scripts', params);
if (count == 0)
alert("Položku již máte v košíku");
else if (count == 1)
alert("Položka byla přidána");
else if (count > 1)
alert("Bylo přidáno "+count+" položek");
else
alert("Přidáno do košíku");
try
{
document.getElementById('m_shop_cart').innerHTML = AJAX.getLayoutContent('m_shop_cart');
}
catch(e)
{
}
return(false);
}Funkce volá pomocí AJAX skript s tid m_shop_purchase, který následně vrací počet položek přidaných do košíku. Výsledek pak zobrazí a zahlásí návštěvníkovi. Poté načte obsah layoutu s názvem m_shop_cart a nahradí v divu s id m_shop_cart jeho původní obsah tímto novým, pomocí AJAX načteným, obsahem.<form onsubmit="return addToCart('[id]', document.getElementById('m_shop_count_[id]').value);" enctype="application/x-www-form-urlencoded" action="m_shop.php?m_shop_actionType=addItem&m_shop_tableName=m_shop_catalogue&m_shop_id=[id]" method="post">
<input size="2" value="1" id="m_shop_count_[id]" name="m_shop_count" type="text" />
<input value="Do košíku" type="submit" />
</form>Od této chvíle je namísto odeslání formuláře volána JavaScriptová funkce, která odešle potřebné parametry skriptu na serveru a znovu načte a zobrazí v divu s id m_shop_cart stav košíku, aniž by návštěvník opustil stránku, kde se zrovna nacházel.
Některé vlastnosti publikované v tomto článku mohou být funkční pouze s nejnovější verzí jádra. Pokud máte starší verzi jádra, doporučujeme provést aktualizaci na nejnovější verzi.
| Fotogalerie | 10.5.2012 |
| Sekce: Tvorba prezentací | |
| Chyba v hromadné korespondenci, nelze odeslat příloha (nová verze | 6.4.2012 |
| Sekce: Bug reporty | |
| AntiSpam obrázek | 6.4.2012 |
| Sekce: Programování | |
| Chyba při opravách textů | 4.4.2012 |
| Sekce: Bug reporty | |
| Admin může smazat Developera, je to ok? | 27.3.2012 |
| Sekce: Bug reporty | |
| Mapa webu | 19.3.2012 |
| Sekce: Tvorba prezentací | |
| Update komponenty Weather
18.listopad 2011 |
Server weather.com se rozhodl ukončit poskytování informací o počasí zdarma a přešel na placenou variantu (cca 60$ měsíčně). Z tohoto důvodu jsme byli nuceni upravit komponentu Weather tak, aby stahovala informace o počasí z jiného zdroje dat a to konkrétně ze serveru www.worldweatheronline.com. Tento server také poskytuje informace o počasí z celého světa, nicméně množství informací je oproti původnímu zdroji menší.
Ke správné funkčnosti komponenty počasí aktualizujte jádro na verzi 1.7.9.638. |
| Přidány nové návody
4.říjen 2011 |
Byl přidán nový návod "Použití jiného HTML editoru"
|
Česky

