Плагин с несколькими полями
Здравствуйте.
Сделал плагин с несколькими полями.
После в админке новые поля не появились, и исчезли и те поля, которые добавлял до этого — плагины с одним полем.
Сделал плагин с несколькими полями.
После в админке новые поля не появились, и исчезли и те поля, которые добавлял до этого — плагины с одним полем.
// assets/components/minishop2/plugins/color/msproductdata.js
miniShop2.plugin.color = {
getFields: function(config) {
return {
color: {xtype: 'minishop2-combo-options', description: '<b>[[+color]]</b><br />'+_('ms2_product_color_help')}
color_img: {xtype: 'minishop2-combo-options', description: '<b>[[+color]]</b><br />'+_('ms2_product_color_img_help')}
color_price: {xtype: 'minishop2-combo-options', description: '<b>[[+color]]</b><br />'+_('ms2_product_color_price_help')}
}
}
,getColumns: function() {
return {
color: {width:50, sortable:false, editor: {xtype:'minishop2-combo-options', name: 'color'}}
color_img: {width:50, sortable:false, editor: {xtype:'minishop2-combo-options', name: 'color_img'}}
color_price: {width:50, sortable:false, editor: {xtype:'minishop2-combo-options', name: 'color_price'}}
}
}
};
<?php
// core/components/minishop2/plugins/color/msproductdata.map.inc.php
return array(
'fields' => array(
'color' => NULL,
'color-img' => NULL,
'color-price' => NULL,
)
,'fieldMeta' => array(
'color' => array(
'dbtype' => 'varchar'
,'precision' => '255'
,'phptype' => 'string'
,'null' => true
,'default' => NULL
),
'color-img' => array(
'dbtype' => 'varchar'
,'precision' => '255'
,'phptype' => 'string'
,'null' => true
,'default' => NULL
),
'color-price' => array(
'dbtype' => 'varchar'
,'precision' => '255'
,'phptype' => 'string'
,'null' => true
,'default' => NULL
)
)
,'indexes' => array(
'color' => array (
'alias' => 'color'
,'primary' => false
,'unique' => false
,'type' => 'BTREE'
,'columns' => array (
'action' => array (
'length' => ''
,'collation' => 'A'
,'null' => false
)
)
),
'color-img' => array (
'alias' => 'color'
,'primary' => false
,'unique' => false
,'type' => 'BTREE'
,'columns' => array (
'action' => array (
'length' => ''
,'collation' => 'A'
,'null' => false
)
)
),
'color-price' => array (
'alias' => 'color'
,'primary' => false
,'unique' => false
,'type' => 'BTREE'
,'columns' => array (
'action' => array (
'length' => ''
,'collation' => 'A'
,'null' => false
)
)
)
)
);
<?php /* Index file for miniShop2 plugin */
return array(
'xpdo_meta_map' => array(
'msProductData' => require_once dirname(__FILE__) .'/msproductdata.map.inc.php'
)
,'manager' => array(
'msProductData' => MODX_ASSETS_URL . 'components/minishop2/plugins/color/msproductdata.js'
)
);
Комментарии: 5
Подскажите, пожалуйста, как писать плагин с несколькими полями. Что-то я никак не решу свою проблему. Добавляю по аналогии второе поле, просто копипастом, изменяя название поля. И в админке вместо дерева ресурсов UNDEFINED.
Поборол я все-таки плагин с несколькими полями. Сделал 3 поля.
Вот теперь возник такой вопрос:
А как мне вывести значения этих трех полей?
Я пытаюсь так сделать:
но в результате выводит только одно поле (данный плагин затрагивает поле color — вот его и выводит), остальные же поля, которые дописаны в плагине — изображение и наценка — не выводятся.
Подскажите, как одолеть эту проблему? Нужно писать свой сниппет и получать значения полей для данного товара в нем, а потом выводить плейсхолдерами в чанке?
Вот теперь возник такой вопрос:
А как мне вывести значения этих трех полей?
Я пытаюсь так сделать:
[[!msOptions? &name=`color` &tplRow=`tpl.color.Row`]]
но в результате выводит только одно поле (данный плагин затрагивает поле color — вот его и выводит), остальные же поля, которые дописаны в плагине — изображение и наценка — не выводятся.
Подскажите, как одолеть эту проблему? Нужно писать свой сниппет и получать значения полей для данного товара в нем, а потом выводить плейсхолдерами в чанке?
Андрей, добрый день! Вы разобрались со своей проблемой?
Да, все сделал. У Вас какая проблема?
А в чем у вас была ошибка? Как починили?
Неправильные
Неправильные
'dbtype' => 'varchar'
,'precision' => '255'
,'phptype' => 'string'
Верно?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.