Для разработчиков
Сниппет с выводом инфо о странице по заданному tv
Здравствуйте. Не могу добиться вывода инфо о странице. При вызове функции в сниппете браузер выдает ошибку.(modx evo)
function show_members() {
global $modx;
$id = $modx->documentIdentifier;
$tv_info = $modx->getTemplateVarOutput(array(61));
$id = $tv_info[0];
$id = (int) $id;
$output = '';
$table = $modx->getFullTableName('site_content');
$result = $modx->db->select('id,pagetitle,published,createdon,CreatedBy', $table, "id = {$id}");
$members = $modx->db->makeArray($result);
foreach( $members as $p_val ) {
foreach( $p_val as $m_key => $m_val ) {
$html .= $modx->parseChunk('tv-info', array(
'id' => $m_val['id'],
'pagetitle' => $m_val['pagetitle'],
'published' => $m_val['published'],
'createdon' => $m_val['createdon'],
'createdby' => $m_val['CreatedBy']
),
'[+',
'+]'
);
echo ($html);
}
}
}
echo(show_members());
?>
transport.tv.php - или как транспортировать tv
Расковыривая github.com/bezumkin/modExtra до крови, да бы упаковать свой mSocial я столкнулся с грустной проблемой он не умеет создавать tv. Ну или может быть умеет, но я не нашел как, в связи с этим решил немного его расширить добавив новый транспортер. Итак, что же нужно делать?
mSocial или как нужно делать компоненты.
Доброе время суток товарищи.
И я опять как с писаной торбой кручусь тут с mSocial я уже реализовал постинг из класса в 4 соцсети (vk, fb, tw, lj), все постится без особых танцев с бубном. Главный вопрос в том как лучше быть, стремиться быстрее дать Вам инструмент постинга в соцсети, все наращивая функционал. Или выдать уже готовый проект с как можно большим набором функций (но на это уйдет гораздо больше времени чем я думал). Варианта развития событий я вижу 2 и вот они.
И я опять как с писаной торбой кручусь тут с mSocial я уже реализовал постинг из класса в 4 соцсети (vk, fb, tw, lj), все постится без особых танцев с бубном. Главный вопрос в том как лучше быть, стремиться быстрее дать Вам инструмент постинга в соцсети, все наращивая функционал. Или выдать уже готовый проект с как можно большим набором функций (но на это уйдет гораздо больше времени чем я думал). Варианта развития событий я вижу 2 и вот они.
mSocial - или залихвацкий кросспостинг в соцсети.
В общем недавно загорелся желанием написать какое-нибудь полезное расширение. По своему опыту точно знаю, что нормальных расширений для постинга в соцсети нет. А увидев что появился VKShare за 800 рублей, да еще и с возможностью постинга только в ВК. Мое терпения лопнуло, а вернее закричало «Доколе?». Тем более что я давно собирался довести до ума свое владение ООП. В общем из всей этой вакханалии родился, а вернее рождается mSocial. На данный момент я только разобрался как легко и замечательно, помощью API постить сообщения во всевозможные группы, профили и страницы, этих распрекрасных социалок. За этим был написан класс для легкого и удобного постинга.
UPD. Решение проблемы с AjaxManager
UPD: Пробуем по новому. Возвращаем всё на место и комментируем 49 строку плагина:
Предлагаю совместными силами решить проблему с AjaxManager. Если кто не знает, это компонент для ускорения работы админки MODx за счёт подгрузки страниц посредством AJAX, а не перезагрузкой.
Всё утро сегодня возился с AjaxManager и кажется нашёлвременное (из-за подобного решения возникают некоторые баги) решение проблемы с работой компонента. Опять же напомню, что компонент по неизвестным причинам перестал подгружать страницу редактирования страниц.
//'sections/resource/update.js',
Предлагаю совместными силами решить проблему с AjaxManager. Если кто не знает, это компонент для ускорения работы админки MODx за счёт подгрузки страниц посредством AJAX, а не перезагрузкой.
Всё утро сегодня возился с AjaxManager и кажется нашёл
[Анонс] frontendManager
pdoFetch поиск в TV-полях с разделителем ||
Наверняка много кто использовал в своей практике TV-поля типа «Список» (множественный, одиночный, не важно) или «Тег». Здесь важно именно то, в каком виде в базе данных хранятся данные таких полей, ведь они сохраняют множественные значения. А хранят они их одной общей строкой в той же самой таблице ТВшек (естественно, по одной записи на один документ). К примеру, если мы отметили три значения 100, 1005, 10, в БД это запишется 100||1005||10. И здесь возникает вопрос как потом выполнить поиск по таким полям? Простой LIKE здесь не поможет, так как LIKE %100%, к примеру, найдет и '100||1000' и '1001||1005'. Данного вопроса мы уже касались здесь и подобный вопрос опять возник здесь.
Продаю свои 3 часа времени в день.
В силу того, что время и развитие не стоит на месте (включая появление Фенома), у меня возник дополнительный интерес к минишопу и прочим сопутствующим продуктам. Так как бесплатно их ковырять не интересно, публично сообщаю, что я открыт для предложений по доработке разрабатываемых проектов на минишопе, pdoTools и прочем. В общем, на всем чем угодно, лишь бы MODX Revo. Здесь есть только пара пожеланий:
1. Пока интересуют только локальные не стандартные задачи. То есть кто-то разрабатывает какой-то проект, и с чем-то не может справиться. Уверен, я много в чем могу помочь.
2. Желательно задачи не особо объемные, то есть на пару часиков буквально.
Цена вопроса акционная: 1 час времени 1000 рублей. Каждый 3-ий час в подарок. Скорее всего данное предложение будет действительно в течение недели. На всякий случай уточню, что и сегодня я еще несколько часов буду доступен. Если кому интересно, пишите в личку или на почту n.lanets@modxclub.ru
1. Пока интересуют только локальные не стандартные задачи. То есть кто-то разрабатывает какой-то проект, и с чем-то не может справиться. Уверен, я много в чем могу помочь.
2. Желательно задачи не особо объемные, то есть на пару часиков буквально.
Цена вопроса акционная: 1 час времени 1000 рублей. Каждый 3-ий час в подарок. Скорее всего данное предложение будет действительно в течение недели. На всякий случай уточню, что и сегодня я еще несколько часов буду доступен. Если кому интересно, пишите в личку или на почту n.lanets@modxclub.ru
Пример работы Fenom
Вчера в поддержку магазина обратились с жалобой на медленную работы mSearch2 при небольшом количестве товаров.
При ближайшем рассмотрении выяснилось, что проблема, конечно, не в самом mSearch2, а в чанке, который используется для вывод результатов работы фильтра.
Изначально debugParser показывал такой результат работы.
При ближайшем рассмотрении выяснилось, что проблема, конечно, не в самом mSearch2, а в чанке, который используется для вывод результатов работы фильтра.
Изначально debugParser показывал такой результат работы.

ExtJs для новичков. Админка загрузилась. ч.2
В первой части познакомились с методом Ext.getCmp() для работы с компонентами ExtJs. Он позволяет взаимодействовать с виджетами ExtJs — панелями, таблицами, формами, окнами, запрашивать и обрабатывать данные с сервера и т.д. Но иногда требуется просто поработать с обычными HTML элементами. А для этого метод Ext.getCmp() совсем не подходит. Можно, конечно, пользоваться обычным javascript. Но уж очень хочется иметь такой же удобный инструмент как jQuery. И ExtJs предоставляет нам такой функционал. Для работы с элементами DOM у него есть несколько методов.