PrestaShop posiada wbudowany system CMS, który pozwala na wielopoziomowe osadzanie treści statycznych (tekstowych). Można następnie te strony CMS grupować w kategorie i w ten sposób – obok sklepu on-line zbudować rozwiniętą w treść witrynę. Np. w celach informacyjnych dla klientów czy też aby wspomagać pozycjonowanie sklepu – unikalnymi artykułami.
Jednak edycja kategorii CMS w PrestaShop 1.7 ma mankament. Opis takiej kategorii to jedynie plaintext i nie można tam sformatować tekstu, dodać rozbudowanego opisu albo osadzić zdjęcia.
Na szczęście można to dość łatwo naprawić.
Otwórz plik:
classes/CMSCategory.php
Następnie w tablicy
public static $definition = array(
(okolice 75 linii) znajdź klucz:
'description'
po czym podmień domyślną linijkę (może się ona nieco różnić):
'description' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml'),
na kod:
'description' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml', 'size' => 3999999999999),
W pliku:
controllers/admin/AdminCmsCategoriesController.php
pod kodem:
$this->fields_form = array(
(okolice 209 linii) wstaw nową linijkę:
'tinymce' => true,
Następnie domyślny kod (linia 252):
array( 'type' => 'textarea', 'label' => $this->trans('Description', array(), 'Admin.Global'), 'name' => 'description', 'lang' => true, 'rows' => 5, 'cols' => 40, 'hint' => $this->trans('Invalid characters:', array(), 'Admin.Notifications.Info').' <>;=#{}' ),
Zamień na:
array( 'type' => 'textarea', 'label' => $this->trans('Description', array(), 'Admin.Global'), 'name' => 'description', 'autoload_rte' => true, 'lang' => true, 'rows' => 5, 'cols' => 40, 'hint' => $this->trans('Invalid characters:', array(), 'Admin.Notifications.Info').' <>;=#{}' ),
Czyli dopisz tam element tablicy:
'autoload_rte' => true,
Ostatni plik do zmiany to:
themes/{SZABLON}/templates/cms/category.tpl
W obrębie bloku:
{block name='page_content'}
Dopisz kod:
{$cms_category.description nofilter}
Gotowe. Po przeładowaniu cache sklepu – opis kategorii CMS powinien mieć rozbudowany edytor wizualny:
grafika: wallpapercave.com
[…] nasz artykuł o tym jak dodać w opisie kategorii CMS – pole z edytowalną przez rozbudowany edytor WYSIWYG treścią […]