Антон А.
С нами с 03 ноября 2016; Место в рейтинге пользователей: #536Создание плагина товара
Привет всем!
Я новичок в ModX. Делаю свой первый интернет-магазин на ModX Revo, решил использовать miniShop2. Первая трудность возникла при добавлении нового свойства товара с помощью плагина товара. С инструкцией ознакомился docs.modx.pro/components/minishop2/development/plug-ins-products.
Что я сделал? Я создал контроллер плагина, сохранил его в index.php и положил его в папку с названием своего плагина: core/components/minishop2/plugins/msplvolume
Содержание файла index.php:
Потом я добавил поле в таблицу:
Теперь я пытаюсь получить значение volume и вывести его на странице продукта.
Я по примеру вывода свойства weight, добавил в чанк msProduct.content следующий код:
Я новичок в ModX. Делаю свой первый интернет-магазин на ModX Revo, решил использовать miniShop2. Первая трудность возникла при добавлении нового свойства товара с помощью плагина товара. С инструкцией ознакомился docs.modx.pro/components/minishop2/development/plug-ins-products.
Что я сделал? Я создал контроллер плагина, сохранил его в index.php и положил его в папку с названием своего плагина: core/components/minishop2/plugins/msplvolume
Содержание файла index.php:
<?php
return array(
'map' => array(
'msProductData' => require_once 'msproductdata.inc.php',
),
'manager' => array(
'msProductData' => MODX_ASSETS_URL . 'components/msplvolume/msproductdata.js',
),
);
Пока меня не интересует массив manager (расширение админки), поэтому, я создал только один файл msproductdata.inc.php. В нем я написал, что хочу расширить модель данных продукта, добавив одно целочисленное поле volume. Вот код:<?php
return array(
'fields' => array(
'volume' => 0,
),
'fieldMeta' => array(
'volume' => array(
'dbtype' => 'int',
'precision' => '10',
'phptype' => 'integer',
'null' => true,
'default' => 0,
),
),
);
Файл msproductdata.inc.php я сохранил в той же папке что и index.php.Потом я добавил поле в таблицу:
ALTER TABLE `modx_ms2_products` ADD `volume` INT NULL DEFAULT NULL;
Как я понял на этом процесс закончен. Дальше miniShop2 и ModX все сделает сами.Теперь я пытаюсь получить значение volume и вывести его на странице продукта.
Я по примеру вывода свойства weight, добавил в чанк msProduct.content следующий код:
<div class="form-group">
<label class="col-sm-2 control-label">Объем: </label>
<div class="col-sm-3">
<label class="checkbox">[[+volume]] мл.</label>
</div>
</div>
В итоге объем не выводится. Подскажите, пожалуйста, что я делаю не так?