Magento - Velden aan pagina toevoegen


In Magento beschikt een CMS pagina over een veld om een titel in te voeren en een veld om content in te plaatsen. Het kan echter wel eens handig zijn om extra velden toe te voegen bijvoorbeeld om een rechterkolom met extra content op de pagina te vullen. Er zijn diverse manieren om velden toe te voegen aan pagina's waaronder de onderstaande manier.

Ga eerst naar de onderstaande locatie en download alleen het bestand Content.php. Dit bestand zal straks op een andere locatie (local) moeten worden opgeslagen.

/app/code/core/Mage/Adminhtml/block/Cms/Page/Edit/Tab/Content.php


In het bestand plaats dan de onderstaande code na regel 88. Hieronder in het voorbeeld wordt er als eerste een nieuwe fieldset aangemaakt onder het tabblad Inhoud. Daarnaast zullen er in dit geval twee nieuwe velden aangemaakt worden, een normaal invoerveld en een veld met wysiwyg editor. Dit kan uiteraard aangepast worden naar eigen wens.

$extraFieldset = $form->addFieldset('extra_fieldset', array(
        'legend' => Mage::helper('cms')->__('Extra velden'),
        'class' => 'fieldset-wide',
        'disabled' => $isElementDisabled
));

$extraFieldset->addField('extra_textfield', 'text', array(
        'name' => 'extra_textfield',
        'label' => Mage::helper('cms')->__('Eigen tekstveld'),
        'required' => false,
        'disabled' => $isElementDisabled
));

$extraFieldset->addField('extra_editor', 'editor', array(
        'name' => 'extra_editor',
        'style' => 'height:36em;',
        'label' => Mage::helper('cms')->__('Eigen wysiwyg'),
        'required' => false,
        'disabled' => $isElementDisabled,
        'config' => $wysiwygConfig
));


Na het toevoegen van de code upload het bestand naar de onderstaande locatie.

/app/code/local/Mage/Adminhtml/block/Cms/Page/Edit/Tab/


Database

De nieuwe velden zijn dan al zichtbaar in Magento maar werken nog niet omdat deze velden ook nog aan de database moeten worden toegevoegd. Ga in de database van Magento naar de tabel cms_page en voeg hier de twee velden toe. Zorg dat de namen van de velden overeenkomen met de namen in de code (extra_textfield en extra_editor).

Na het toevoegen van beide velden verwijder de cache onder Systeem, Beheer Cache.

Tonen

Met de onderstaande code kunnen beide velden aan de voorkant opgeroepen worden.

<?php
        echo Mage::getBlockSingleton('cms/page')->getPage()->getextra_textfield();
        echo Mage::getBlockSingleton('cms/page')->getPage()->getextra_editor();
?>