[modClassVar] - переменные класса, альтернатива ТВ
Данный компонент — небольшая альтернатива ТВ полям со своими плюсами и минусами.
В админке представлен в виде таба
тут же можно создавать и редактировать переменные. Данная вкладка грузится как для ресурса, так и для пользователя. Не составит особого труда подгрузить панель и к кастомному классу.
Панель переменных
Открывается по нажатию на «шестеренку», доступно создание и редактирование переменных.
Основная рабочая панель, открыта при загрузке страницы.
Собственно редактирование переменной.
Получение переменных
Значения переменных выставляются в плейсходеры вида
более удобно конечно использовать пакет pdoTools и Fenom
получить все переменные ресурса можно так
Доступные типы переменных
ps. На этом вкратце все, если есть вопросы задавайте.
Гитхаб — github.com/vgrish/modClassVar
Если пакет необходим в репозитории — пишите добавлю.
В админке представлен в виде таба
тут же можно создавать и редактировать переменные. Данная вкладка грузится как для ресурса, так и для пользователя. Не составит особого труда подгрузить панель и к кастомному классу.
Панель переменных
Открывается по нажатию на «шестеренку», доступно создание и редактирование переменных.
- задать значение по дефолту
- конфигурацию поля extjs
- ограничение для вывода поля
Основная рабочая панель, открыта при загрузке страницы.
Собственно редактирование переменной.
Получение переменных
Значения переменных выставляются в плейсходеры вида
[[!+имя_переменной.название_поля_переменной]]
например[[!+google_place.value]]
более удобно конечно использовать пакет pdoTools и Fenom
получить все переменные ресурса можно так
{var $data = $.mcv->getValues($_modx->resource.id)}
{$data.google_place}
Доступные типы переменных
- textfield
- textarea
- numberfield
- modx-combo-boolean
- modx-combo-user
- modclassvar-combo-user
- modclassvar-combo-users
- modclassvar-combo-autocomplete
- modclassvar-combo-option
- modclassvar-combo-datetime
- modclassvar-combo-file
- modclassvar-combo-resource
- modclassvar-combo-resources
- modclassvar-combo-ymaps-place
- modclassvar-combo-gmaps-place
ps. На этом вкратце все, если есть вопросы задавайте.
Гитхаб — github.com/vgrish/modClassVar
Если пакет необходим в репозитории — пишите добавлю.
Поблагодарить автора
Отправить деньги
Комментарии: 27
со своими плюсами и минусамитут бы поподробнее, какие главные плюсы и минусы?
плюсы:
— простота добавления переменных, как в админке так и через api
github.com/vgrish/modClassVar/blob/master/_build/resolvers/resolve.fields.php#L18-L26
— доступ ко всем переменным в одном месте и через api
получить в чанке/шаблоне
добавить
минусы:
— не работает с родными ТВ шками, а было бы круто
— все в одной куче, в одном табе, для кого то не очень
— что то еще…
Но это только мое мнение…
— простота добавления переменных, как в админке так и через api
github.com/vgrish/modClassVar/blob/master/_build/resolvers/resolve.fields.php#L18-L26
— доступ ко всем переменным в одном месте и через api
получить в чанке/шаблоне
{var $data = $.mcv->getValues('', $_modx->resource.id)}
{$data.google_place}
добавить
if (!$mcv = $modx->getService('modClassVar')) {
return;
}
$rid = 1;
$values = $mcv->getValues('', $rid);
$values = array_merge($values,array(
'desc' => 'описание'
));
If ($resource = $modx->getObject('modResource', $rid)) {
$resource->set('modclassvar', $values);
$modx->invokeEvent('OnDocFormSave', array(
'mode' => modSystemEvent::MODE_UPD,
'id' => $resource->get('id'),
'resource' => &$resource,
));
}
Удобно в плане что то добавить, поменять и тд. не заходя в админку MODX а лишь работая в иде.минусы:
— не работает с родными ТВ шками, а было бы круто
— все в одной куче, в одном табе, для кого то не очень
— что то еще…
Но это только мое мнение…
Понятно, спасибо!
Хорошее решение! Я потыкал его ещё на днях, скачав с твоего гитхаба. :) Думаю в магазине дополнений лишним точно не будет.
Без лишних слов в репозиторий
Присылай, выложим с удовольствием!
Нажимаю «шестеренку» для создания переменной.
Появляется 2 одинаковых блока. Добавляется в верхний список (блок.).
Появляется 2 одинаковых блока. Добавляется в верхний список (блок.).
да так и было задумано, верхний блок создание переменных, нижний редактирование.
Или у вас там еще чтото появляется? Скрин прикладывайте, спасибо!
Или у вас там еще чтото появляется? Скрин прикладывайте, спасибо!
Подцепить к заполнению TicketForm получится?
Как добавить в выборку поля от modClassVar?
Есть у меня (к примеру) вызов getPage c element=getTickets. Что мне сделать что бы получить в чанке с tpl вывод нужных мне полей?
Есть у меня (к примеру) вызов getPage c element=getTickets. Что мне сделать что бы получить в чанке с tpl вывод нужных мне полей?
Сам просил, сам ответил. Наверное не очень красиво всё это вызывается, но работает! Причем без излишней нагрузки.
В чанке добавляем в самый верх:
Где надо вызываем в таком виде:
В чанке добавляем в самый верх:
{var $values = $.mcv->getValues($id)}
Где надо вызываем в таком виде:
{$values.имяполя}
ну да, все верно, если можно получить все значения и вывести что необходимо.
Или же добавить в выборку — docs.modx.pro/components/pdotools/classes/pdofetch#Метод-addJoins
например
Или же добавить в выборку — docs.modx.pro/components/pdotools/classes/pdofetch#Метод-addJoins
например
&leftJoin=`{
"coords": {
"class": "modClassVarValues",
"on": "coords.class = 'modResource' AND coords.cid = msProduct.id AND coords.key = 'coords'"
}
}`
&select=`{
"coords": "coords.value as coords"
}`
&leftJoin=`{"iconcategory": {"class": "modClassVarValues","on": "iconcategory.class = 'modResource'
AND iconcategory.cid = msProduct.id AND iconcategory.key = 'iconcategory'"}}`
&select=`{"iconcategory": "iconcategory.value as iconcategory"}`
Что-то не хочет с pdoMenu + Tickets работать
msProduct?
[2016-08-05 14:08:27] (ERROR @ /home/public_html/core/components/pdotools/model/pdotools/pdofetch.class.php : 170) [pdoTools] Error 42S22: Unknown column 'msProduct.id' in 'on clause'
[2016-08-05 14:08:27] (ERROR @ /home/public_html/core/components/pdotools/model/pdotools/pdotools.class.php : 972) PHP warning: current() expects parameter 1 to be array, string given
Похоже что да
День добрый! Не сохраняет переменные в ресурсе на последней версии. префикс установил
Смотрел сюда
var_
создал перемену var_value
и значение к ней. После введения значения и нажатия на кнопку сохранить. Значение не сохраняется.Смотрел сюда
class modClassVarOnDocFormSave
В массиве передается пустое значение.
а с базовым префиксом все работает?
Перестраивал обратно на базовый. Тоже самое. Версия МодХ 2.5.1
на тестовом сайте повторите?
Написал на почту доступы к тестовому сайту. Все сделал также, получил такой же результат.
Ошибка.
[2016-11-29 11:45:24] (ERROR @ /var/www/lesdom/www/core/components/pdotools/model/pdotools/pdotools.class.php : 940) Unknown accessor '$.mcv' in modchunk/10 line 1, near '{var $data = $.mcv' <- there
Последний MODX и PDOTools
вы наверно не создали плагин из этой темы modx.pro/solutions/9414-modclassvar-ticketform/
о чем вам и пишет феном
о чем вам и пишет феном
Unknown accessor '$.mcv'
Да, именно так. Ну да, решил вопрос рарешениеним $modx в Fenom
хорошо!
Здравствуйте подскажите пожалуйста, я установил [modClassVar] добавил тестовую переменную назвал ее test тип поля текстовое поле как я могу вывести ее на странице? [[!+test.textfield]] ничего не выводи, что я делаю не так?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.