blog.morf.cz

Tag: How to

Zend Framework Custom Dojo (Dijit) Helpers

by morf on Dec.26, 2009, under Blog

Implementing custom Dojo or Dijit into the Zend Framework View Helper is pretty simple. Lately i need this feature for Menu and MenuItem Dijits. I will provide you an example how to do it yourself for another Dijits. This example should work with other Dijits as well (i tried Dialog, DropDownButton, Menu, MenuBar, MenuItem, TitlePane, ToolBar, Tooltip Dialog, and Tree so far).

Ok let’s show the code. You have to create custom Dijit Zend_View_Helper by extending Zend_Dojo_View_Helper_DijitContainer class. Don’t forget to alter: DocBlock, $_dijit, $_module, and direct function (eg. menu() or menuItem() ) and function DocBlock.

Implementace vlastních Dojo nebo Dijit pomocí Zend Framework View Helper je pěkně jednoduché. Nedávo jsem potřeboval tuto vlastnost pro Dijit Menu a MenuItem. Poskytnu vám příklad jak to můžete udělat sami pro jiné Dijit. Tento příklad by měl fungovat pro ostatní Dijity bez problémů (zkoušel jsem Dialog, DropDownButton, Menu, MenuBar, MenuItem, TitlePane, ToolBar, Tooltip Dialog, a Tree zatím).

Ok následuje ukázka kódu. Budete muset vytvořit vlastní Zend_View_Helper rozšířením (extend) třídy Zend_Dojo_View_Helper_DijitContainer. Nezapomeňte změnit: DocBlock, $_dijit, $_module, a funkci pro přímé voláním (např. menu() nebo menuItem()) a DocBlock funkce.


Sorry Code Highlight is broken … :-(


Omlouvám se ale zvýraznění kódu je mimo provoz … :-(

/**
 * Dijit Menu Implementation
 * @author morf
 * @version
 */

/**
 * Menu helper
 *
 * @uses viewHelper Zend_View_Helper
 */
class Zend_View_Helper_Menu extends Zend_Dojo_View_Helper_DijitContainer
{
 /**
 * Dijit being used
 * @var string
 */
 protected $_dijit  = 'dijit.Menu';

 /**
 * Dojo module to use
 * @var string
 */
 protected $_module = 'dijit.Menu';

 /**
 * dijit.Menu
 *
 * @param  string $id
 * @param  string $content
 * @param  array $params  Parameters to use for dijit creation
 * @param  array $attribs HTML attributes
 * @return string
 */
 public function menu($id = null, $content = '', array $params = array(), array $attribs = array()) {
 if (0 === func_num_args()) {
 return $this;
 }

 return $this->_createLayoutContainer($id, $content, $params, $attribs);
 }
}
/**
 * Dijit MenuItem Implementation
 * @author morf
 * @version
 */

/**
 * MenuItem helper
 *
 * @uses viewHelper Zend_View_Helper
 */
class Zend_View_Helper_MenuItem extends Zend_Dojo_View_Helper_DijitContainer
{
 /**
 * Dijit being used
 * @var string
 */
 protected $_dijit  = 'dijit.MenuItem';

 /**
 * Dojo module to use
 * @var string
 */
 protected $_module = 'dijit.MenuItem';

 /**
 * dijit.MenuItem
 *
 * @param  string $id
 * @param  string $content
 * @param  array $params  Parameters to use for dijit creation
 * @param  array $attribs HTML attributes
 * @return string
 */
 public function menuItem($id = null, $content = '', array $params = array(), array $attribs = array()) {
 if (0 === func_num_args()) {
 return $this;
 }

 return $this->_createLayoutContainer($id, $content, $params, $attribs);
 }
}
/**
 * Usecase:
 */
 $this->menu()->captureStart(
 'hosting-nav-menu',
 array(),
 array(
 'style' => 'width: 100%',
 )
 );

 echo $this->menuItem(
 'hosting-nav-menu-programm',
 'Programms',
 array(),
 array()
 );

 echo $this->menuItem(
 'hosting-nav-menu-service',
 'Services',
 array(),
 array()
 );

 echo $this->menuItem(
 'hosting-nav-menu-ad',
 'Ads',
 array(),
 array()
 );

 echo $this->menu()->captureEnd('hosting-nav-menu');

Now you can download working example application here.

VN:F [1.8.7_1070]
Rating: 7.0/10 (2 votes cast)
VN:F [1.8.7_1070]
Rating: 0 (from 0 votes)
2 Comments :, , , , more...

How to install Magento Commerce

by morf on Oct.27, 2009, under Blog, Magento

This Post is step by step generic tutorial how to install Magento Commerce.

First of all you should setup your Environment, but if you are installing Magento first time you should check if you fit Magento Commerce System Requirements. In short you need: any os running Apache, PHP, and MySQL. Required PHP modules are: PDO_MySQL, Simplexml, mcrypt, hash, GD, DOM, iconv, SOAP (optional).

Now you need to get Magento Commerce Full Release stable package, and optionaly you could download one of Magento Translations. I suppose you have knowledge to prepare hosting for you, this problematic is not part of tutorial at all. You need one apache virtual host, eg. server, or hosted domain, and one MySQL database (optionaly due to table prefix Magento can share one database with other projects without any harm).

Next step is extracting full package to temporary directory or right to the server root directory. If you download custom translation, extract localization package to app/locale. Example path for cs_CZ localization (eg. Czech language) is app/locale/cs_CZ. Then if you using Linux or Unix OS (almost all hosting providers), you need for some basic Magento functions (images, logging, sessions, temporary files etc.) set up few directories writable for Web Server – app/etc media/ (media/catalog/product) var/ (var/session var/tmp var/log). You dont have to do this in 99% on your Windows OS.

Now the fun begins – you can install Magento. Start up your browser and direct it to your magento url, you should see installation screen now. Confirm agreement, next select localization, time zone and currency, next fill up db connection details, setup session (for high traffic site use db as storage), and as last step setup administrator’s account and pass. Optional you could generate your own Shop Key – use for data encryption. Store it well and secure, on last installation step.

If you did well, you could go now to your Magento Frontend or Backend. Good Luck, and have fun.

Sreenshot images of installation with example values filled:

1. Licence Agreement

magento-1

2. Localization

magento-2

3. Configuration

magento-3

4. Create Admin Account

magento-4

5. You’re All Set!

magento-5

Tento článek je obecný návod jak nainstalovat Magento Commerce krok za krokem.

Nejdříve by jste měli nastavit prostředí, jestli ale Magento instalujete poprvé měli by jste zkontrolovat, zda odpovídáte Magento Commerce Systémové požadavky. V krátkosti budete potřebovat: jakýkoliv operační systém na kterém běží Apache, PHP, MySQL Vyžadované PHP moduly jsou: PDO_MySQL, Simplexml, mcrypt, hash, GD, DOM, iconv, SOAP (volitelné).

Nyní budete potřebovat stáhnout Magento Commerce Full Release stable package, a volitelně můžete stáhnout jeden z lokalizačních balíčků Magento Translations. Předpokládám, že máte dostatek znalostí k přípravě vašeho hostingu, tato problematika není vůbec součástí tohoto návodu. Budete potřebovat jeden apache virtual host, nebo server, nebo hostovanou doménu, a jednu MySQL databázi (volitelně díky databázovým přefixům Magento může sdílet jednu databázi s jinými projekty aniž by došlo k nějakému poškození).

Dalším krokem je rozbalení archivu do dočasného adresáře nebo rovnou do adresáře server root. Pokud jste stáhli překlad, rozbalte lokalizační balíček do app/locale. Např. pro lokalizaci cs_CZ (čeština) je správná cesta app/locale/cs_CZ. Potom pokud používáte Linux nebo Unix (většina hostingů), tak je potřeba pro některé základní funkce Magento (obrázky, logování, session, dočasné soubory atd.) nastavit několik adresářů s právy pro zápis pro web server. Jsou to: app/etc media/ (media/catalog/product) var/ (var/session var/tmp var/log). Na 99% windows tento krok není potřeba.

Nyní začíná sranda – můžete nainstalovat Magento. Spusťte prohlížeč a nasměrujte ho na url Magento, nyní by jste měli vidět instalační obrazovku. Potvrďte licenci, dále vyberte lokalizaci, časové pásmo a výchozí měnu, v dalším kroku vyplňte připojení k databázi, nastavte session (pro stránky s velkou návštěvností použijte databázi jako úložiště), a v posledním kroku nastavte uživatelský účet a heslo. Volitelně můžete vygenerovat vlastní klíč obchodu – používá se k šifrování dat. Uložte si tento klíč na bezpečné místo v posledním kroku instalace.

Jestli jste si vedli dobře, tak by jste nyní měli možnost jít do Magento Frontend nebo Backend rozhraní. Hodně štěstí, a bavte se.

Screenshoty instalace s předvyplněnými příkladnými hodnotami:

1. Licence

magento-1

2. Lokalizace

magento-cs-2

3. Nastavení

magento-cs-3

4. Vytvořit účet správce

magento-cs-4

5. Hotovo

magento-cs-5

VN:F [1.8.7_1070]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.7_1070]
Rating: 0 (from 0 votes)
1 Comment :, , , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!