Степан
это ondocsave
Степан
а я спрашивал с последним скрином про OnBeforeDocFormSave
Артур
это ondocsave
Ну да, я изначально о нём и говорил. Как видишь в доке написано что менять значение ТВ лучше именно в плагине на это событие.
Артур
а я спрашивал с последним скрином про OnBeforeDocFormSave
А ты сохрание после изменения значений делал?
Степан
А ты сохрание после изменения значений делал?
ну у меня все равно не получилось потому и спросил как повесить на это событие
Степан
я думал что отправил
Степан
$e = & $modx->event; if($e->name == 'OnBeforeDocFormSave') { include_once MODX_CORE_PATH . 'components/z_q/custom_fnc.php'; $modx->addPackage('blogs_posts_coment', $modx->getOption('core_path').'components/blogs_posts_coment/model/','modx_'); global $tmplvars; foreach ($_REQUEST['tv26'] as $tag_key => $tv) { if (!is_numeric($tv)) { $_new_tags = $modx->newObject('Tags',array( 'tag_name' => $tv, ) ); $_new_tags->save(); // $_REQUEST['tv26'][$tag_key] = $_new_tags->get('tag_id'); // $_new_tags_id = $modx->newObject('Tags',array( // 'tag_name' => $_new_tags->get('tag_id'), // ) // ); // $_new_tags_id->save(); $tv_val[] = $_new_tags->get('tag_id'); } else { $tv_val[] = $tv; } } $tmplvars['26']['0'] = 26; $tmplvars['26']['1'] = $tv_val; }
Степан
как бы попроще проверить наличие tv в шаблоне
Степан
?
Степан
множество шаблонов и писать их в плагин это не то
Степан
записать правильное значение в таблицу ТВ
Степан
суть дела сначала сайт пишет не совсем верные значения
Степан
ну да
Степан
как бы попроще проверить наличие tv в шаблоне
нашел $isTV = $modx->getObject('modTemplateVarTemplate',array( 'tmplvarid' => $id_tv, 'templateid' => $resource->get('template') )); // если TV нет, то завершаем работу if (!is_object($isTV)) { return; }
Артур
А ты пробовал например в том же плагине проверять if($resource->getTVValue(tvname)){} ну и дальше если есть, то устанавливать правильное значение?
Артур
мне кажется если будет дефолтовое значение то мы его не получим
Ну ок. Давай с другой стороны зайдём. Посмотри в базе таблицы относящиеся к ТВ там где-то должны быть перечислены доступные шаблоны. Получаешь этот список. Проверяешь есть ли в нем шаблон текущего ресурса, если да, записываешь значение ТВ
Степан
ну вон попроще код я выше написал
Степан
мне кажется его хватит
Anonymous
Всем привет. В pdoPage этот код еще работает или уже устарел? Прикладываю скрин. Я попробовал скопировать его в консоль в браузере на странице, где есть pdoPage с ajax. Он вернул не JSON, а html.
Anonymous
Я пробовал вместо "document.html..." подставлять адрес страницы с нужными get-параметрами. То же самое.
Anonymous
А задача какая?
Сделать sortby через select на странице, не покупая mSearch2 и не используя mSearch1.
Алексей
Зря.
Anonymous
Сайт не очень перспективный. Поэтому покупать платные модули для него не хочется. Я понимаю, что работают они лучше, быстрее. Но простую сортировку-то можно и самому сделать.
Алексей
Можно и без Аякса...
Алексей
Совсем просто
Артур
Можно и без Аякса...
Это как? С перезагрузкой страницы?
Алексей
Ага
Anonymous
так чего со снипетом?
Такой код в responseText возвращает html, а не json $.get('https://site.ru/item202/?sortby=pagetitle&page=1', function(response) { console.log(response); }, 'json'); Я выполняю этот код на странице сайта, где используется ajax pdoPage.
Степан
sortby=pagetitle а вот это зачем добавил по идее это правм в pdo укажи
Степан
ну при вызове снипета
Anonymous
а ты скинь если не сложно то как ты вызываешь снипет
{'!pdoPage@custom' | snippet : [ 'element' => 'msProducts', 'parents' => $resource.id, 'includeTVs' => 'itemRating', 'limit' => 10, 'includeThumbs' => 'small', 'tpl' => '@FILE:chunks/product.tpl', 'sortby'=> 'pagetitle', 'sortdir'=>'DESC', 'ajax'=> '1', 'ajaxMode'=>'default', ]}
Алексей
Алексей
А сортировкой управляет пользователь?
Anonymous
Да
Алексей
Если отправить запрос, как в доке без доп параметров. Только page?
Степан
Степан
без фенома [[!pdoPage? &parents=`[[*id]]` &includeTVs=`viewsnews` &ajaxMode=`default` &tpl=`op_news_row` &ajax=`1` &sortBy=`[[#GET.sortby]]` ]]
Anonymous
Степан
не тот ответ развернул
Степан
хотя не
Anonymous
Другого нет.
Степан
у тебя оч странный output
Степан
а нажми showmore
Степан
что там
Степан
может там ошибка
Степан
и это в закладке сеть глянь ответ 200?
Anonymous
Ты попробуй 'element' => 'msProducts',
Anonymous
Anonymous
Да, element
Степан
да да нашел
Степан
просто ниразу не юзал
Степан
так что там в html?
Степан
вся страница небось?
Anonymous
Да. Только вместо карточек товаров что-то вроде этого: {"output":" \n \n \u0412 \u043d\u0430\u043b\u0438\u0447\u0438\u0438<\/span>\n \u0410\u0440\u0442\u0438\u043a\u0443\u043b: MD00015<\/span>\n
Anonymous
Кажется, это тот JSON, который должен был мне в качестве ответа прийти.
Anonymous
output у тебя на скриншоте есть
Степан
а то не видно
Anonymous
Почему же он у меня в html, а у тебя в виде json
Anonymous
Степан
Anonymous
У меня там html
Степан
а в принципе снипет то работает?
Anonymous
Да
Степан
я хз как это феном работает видимо как-то конвертит string '1' в true