Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 102 комментария

Евгений Тимочкин
Евгений Тимочкин
Здравствуйте.
Тема очень интересна. Сейчас рассматриваю возможность использования процессоров для создания контента из front-end'a сайта (ну не хочу я пускать всех в mgr, да и конечному пользователю будет удобно из front-end'a работать). Конкретно пытаюсь сделать добавление статей в блог. Может я конечно изобретаю велосипед, и все уже написано за меня? Не поможете советом по этому вопросу?
Николай
Николай
Как отображать описано вмануале это все ясно… у меня вопрос как правильно (через скрипт) манипулировать уже имеющимся в TV данными

Я понимаю, что это все хранится в базе в виде JSON массива и мне просто нужно переформировав его перезаписывать… это самый очевидный вариант.

Но если для этого уже в пакете предусмотрен инструмент почему бы не воспользоватся им… ))

У меня просто руки не доходят потеснить это дело я вот и спросил МБ кто уже плавал знает
Евгений Дурягин
Евгений Дурягин
Вы смотрите пример как в таблице отображать ресурсы с TV. Вам это надо?
Поэтому и работает myClass->setTVValue(«prise»,$prise), т.к. myClass скорей всего является наследником modResource, а значение хранится в TV.

Или все же вам надо у каждого ресурса сделать список значений в виде таблицы и хранить это все в базе?
Виталий Батушев
Виталий Батушев
Мануал или код все-таки? Мануал MIGX, конечно, довольно скромный, но это больше касается MGIX-db, а с самим MIGX там особо нечего разбираться. Я мигиксы в каждом проекте использую. Пару-тройку раз migx-db, остальные — «обычный».
Виталий Батушев
Виталий Батушев
Ну можно и это. Я ж не в курсе, что конкретно Вам надо. Можете, просто, скажем, сделать TV с полями, где одно это цвет товара, а другое количество товара этого цвета. При продаже товара с этим цветом — меняете количество. Когда количество равно нулю, при генерации listbox-а просто игнорируете создание option этого цвета.
Николай
Николай
просто к сожалению мануал по MIGX весьма скудный, и автор не описывает что для чего((
… ткните сюда ткните туда, вуаля вы получили счастье и код вообще без комментариев практически…

С кодом Василия несравнить
Николай
Николай
Дело то в том что вроде бы у бруно в MIGXdb заложен этот функционал, просто не описан насколько я понял сам класс migx наследует методы modx, а в конфигурации есть поле classname где указывается имя объекта, при этом в мануале есть такие строчки…
______________________________________________________________
Register the TVs for our processors (getlist,fields)

We need to register TVs to include them in the getlist- and fields-processors.
Todo so we need a new config-file under /core/components/migx/configs/

with the same name as our MIGX-configuration: childstutorial.config.inc.php (should allready be installed with the MIGX-package)
and this content:

/core/components/migx/configs/childstutorial.config.inc.php
1
2
3
<?php
$this->customconfigs['includeTVs'] = 1;
$this->customconfigs['includeTVList'] = 'price,images,categories';
___________________________________________________________________

Насколько я понял после этого к переменным

можно обращаться как то так myClass->setTVValue(«prise»,$prise);

просто если это так то зачем делать велосипед… тем более не факт, что он выйдет лучше ))
Виталий Батушев
Виталий Батушев
Вы ошибаетесь на счет MIGX. MIGX не связывает TV, а как исключительно верно указал Евгений Дурягин, использует их для указания на то, как их рендерить в форме ресурса. Значение же самого TV типа MIGX — это JSON-строка. Я бы не стал заморачиваться на MIGXdb для создания TV для товара, для этого подойдет «обычный» TV типа migx. Изменять цену можно с помощью msGetPrice. Пишете там функцию, которая распарсивает значение вашего TV типа MIGX и изменяет цену согласно этому значению. Как-то так.
Евгений Дурягин
Евгений Дурягин
В MIGXdb вы же сами таблицу описываете и определяете какие в ней поля должны быть.
Вот и обращайтесь к этой таблице как и к любой другой, через xPDO.
А TV используется только для отрисовки значение поля.
Виталий Вайти
Виталий Вайти
Василий, могу ли я вас попросить об одолжении, когда будет возможность, проверить работу 2-х сайтов у которых префиксы для mgr и web указаны и обновляются ли настройки, к примеру, Статус сайта (да/нет) и Название сайта, без удаления папки /core/cache?
Василий Наумкин
Василий Наумкин
У меня на сервере сейчас штук 5 сайтов с включенным php-apc — все ок, проблем нет.

Префикс пишу в системные настройки, не в контекст.
Когда заморочки с кэшем — удаляю /core/cache

Дальше разбираться пока времени нет.