Greza

Greza

С нами с 11 октября 2016; Место в рейтинге пользователей: #255

pdoResources, where, tvFilters

Столкнулся с проблемой если для сниппета pdoResources указать одновременно и where и tvFilters, то where вообще в запрос не попадает.
Включил showlog и обнаружил что если есть tvFilters то в Added where condition: условие where не попадает, а если убрать tvFilters, то where сразу появляется.
В чем может быть проблема?
Greza
16 января 2017, 21:56
modx.pro
4 747
0

Проблема с кодировкой MIGX

Приветствую, прошу помощи
При выводе TV MIGX снипетом getImageList надо проверить условие: если name присутствует в перечне FilterName, то выводим, иначе — нет
вот так устанавливаю условие:

$where = '{"name:IN":['.$FilterName.']}';
name и FilterName — русские символы

Проблема в то, что если FilterName заполнить вручную, то все работает, если точно такой же список получаю другим снипетом, то визуально строка идентична, а условие не работает.

Подозреваю, что при выдаче в снипет меняется кодировка.
НО как решить проблему ни как не получается.
Помогите пожалуйста, может кто сталкивался уже?!
Greza
11 января 2017, 01:05
modx.pro
1 188
0

Как получить в сниппете результат runsnippet

Прошу помощи
в сниппете получаю документ сниппетом pdoResources
до вывода на страницу мне нужно проверить значение TV поля этого документа
вопрос как это сделать?
вот так получил документ из которого нужно узнать значение TV — myTV
$params = array(
        'parents' => '1',
        'resources' => '2',
        'showUnpublished' => '1',
        'includeContent' => '1',
        'includeTVs' => 'myTV',
        'tpl' => 'tpl_chunk'
    );
    
    $res = $modx->runSnippet('pdoResources', $params);
Greza
05 декабря 2016, 10:05
modx.pro
1
5 890
0

Помогите разобраться с AjaxSnippet

Задача удалять ресурсы из фронтенда
Есть страница с листом ресурсов
В каждом ресурсе создается ссылка на его удаление так:
[[!AjaxSnippet?
	&snippet=`deleteAdv`
        &as_mode=`onclick`
        &as_trigger=`<a href="[[~[[*id]]]]" class="link_del">Удалить объявление</a>`
]]
при нажатии нужно активировать снипет deleteAdv, который проверит все что надо, а основное пометить ресурс на удаление, и убрать удаленный ресурс из листа, снипет такой:
<?php
	$res=$modx->getObject('modResource',array('id'=>$id));
	$res->set('deleted', true);
	$res->save();
В итоге так ничего не работает, не выполняется снипет
Не смог разобраться как выполнить задачу правильно по инструкции на сайте
Помогите разобраться, пожалуйста!
Greza
01 декабря 2016, 14:25
modx.pro
1 839
0

Доработать в minishop2 скрипт csv.php

1 2 000
Необходимо доработать скрипт csv.php,
1)
В исходном файле для каждого товара указано два уровня групп (ID группы и ее название, назовем их GR_ID_DONOR и GR_NAME_DONOR),
указаны группа в которой непосредственно находится товар и группа выше на уровень (у каждой есть GR_ID_DONOR и GR_NAME_DONOR).
Сейчас в скрипте можно указать parent — группу в которую будет добавлен товар, но только для группы, которая существует в MODX и надо указать ее ID в базе MODX. Однако импорт происходит по файлу, в котором не указаны ID по базе MODX.
ЗАДАЧА:
Добавить проверку, перед добавлением товара, на существование таких групп и, в случае их отсутствия, добавлять группы.
Идентификацию групп реализовать по GR_ID_DONOR (дополнительное TV поле к группе).

2) Аналогично группам идентификация товара должна происходить по доп полю TV_ID_DONOR
ЗАДАЧА: проверить корректность работы скрипта с TV, на данный момент складывается впечатление, что скрипт не может проверить уникальность товара по TV полю.
Greza
19 октября 2016, 13:39
modx.pro
1 379
0