01 октября 2017, 12:08 эту строчку лучше вынести за foreach, т.к. лучше один раз присвоить переменной, чем каждый раз обращаться.Да не досмотрел, спасибо. нужен вложенный foreachну об этом тоже подумал, только вот а выводить потом как, не могу просто додуматься как в $output потом еще и с вложенного цикла вывести плейсхолдеры вложенного массива. Вопросы / Fenom вместо getImageList MIGx 48 0
01 октября 2017, 10:28 Премного извиняюсь, но не подскажете что делать если нужно так же обрабатывать еще и вложенные поля migx? То есть допустим есть MIGx поле 'tv_name1' и в него вложено 'tv_name2'. Массив получается имеет вот такой вот вид: Array ( [MIGX_id] => 1 [title_name] => "значение" [address] => "значение" [tv_name2] => [{"MIGX_id":"1","youtube_video":"значение"}] [idx] => 1 [total] => 4 [_first] => 1 ) Вопросы / Fenom вместо getImageList MIGx 48 0
01 октября 2017, 09:25 Спасибо, так тоже работает, ниже нашел решение через echo, но думаю что ваш вариант предпочтительнее) Вопросы / Fenom вместо getImageList MIGx 48 0
01 октября 2017, 09:22 Сам нашел решение: <?php //$docid - id документа, если не задано берем id текущего документа //$tvname - поле MIGx //$chunk - чанк или @INLINE if (empty($docid)) { $docid = $modx->resource->get('id'); } $tv = $modx->getObject('modResource',$docid); $tv = $tv->getTVValue($tvname); $rows = $modx->fromJSON($tv); reset($rows); $_first = key($rows); end($rows); $_last = key($rows); $total = count($rows); foreach ($rows as $key => $row) { $row['idx'] = $key+1; $row['total'] = $total; if ($key === $_first) $row['_first'] = 1; if ($key === $_last) $row['_last'] = 1; if ($key % 2) $row['_alt'] = 1; $pdo = $modx->getService('pdoTools'); if (empty($chunk)) { $output = '<pre>' . $pdo->getChunk('', $row) . '</pre>'; } else { $output = $pdo->getChunk($chunk, $row, false); //$output = $pdo->fastProcess($output); } echo $output; }Просто return надо поменять на echo и поместить в цикл. Вопросы / Fenom вместо getImageList MIGx 48 0
01 октября 2017, 07:59 Подскажите пожалуйста что я делаю не так, написал сниппет, потому как предложенное здесь решение не совсем меня удовлетворяет, но через сниппет выводятся только значения последнего элемента. <?php //$docid - id документа, если не задано берем id текущего документа //$tvname - поле MIGx //$chunk - чанк или @INLINE if (empty($docid)) { $docid = $modx->resource->get('id'); } $tv = $modx->getObject('modResource',$docid); $tv = $tv->getTVValue($tvname); $rows = $modx->fromJSON($tv); reset($rows); $_first = key($rows); end($rows); $_last = key($rows); $total = count($rows); foreach ($rows as $key => $row) { $row['idx'] = $key+1; $row['total'] = $total; if ($key === $_first) $row['_first'] = 1; if ($key === $_last) $row['_last'] = 1; if ($key % 2) $row['_alt'] = 1; $pdo = $modx->getService('pdoTools'); if (empty($chunk)) { $output = '<pre>' . $pdo->getChunk('', $row) . '</pre>'; } else { $output = $pdo->getChunk($chunk, $row, false); //$output = $pdo->fastProcess($output); } } //return print_r($placeholder); return $output;А еще вопрос, будет ли таким способом кешироваться чанк задаваемый в параметре chunk в виде файла? Вопросы / Fenom вместо getImageList MIGx 48 0
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
ну об этом тоже подумал, только вот а выводить потом как, не могу просто додуматься как в $output потом еще и с вложенного цикла вывести плейсхолдеры вложенного массива.
Просто return надо поменять на echo и поместить в цикл.
А еще вопрос, будет ли таким способом кешироваться чанк задаваемый в параметре chunk в виде файла?