Вопросы

Как работает кнопка "доступен для поиска" ?

Всем здравствуйте.
Помоги разобраться: как modx закрывает доступ ресурса для поиска, если убрать галочку «Доступен для поиска»?
2018-12-12-12-48-24
Убираю — сохраняю — смотрю теги head, но в HTML-коде ничего не меняется:
<meta name="robots" content="index, follow"/>
как был, так и остался…
brioni
12 декабря 2018, 13:54
modx.pro
2 426
0

Вставить блок в результаты mfilter, всё ещё очень нужна помощь.

Доброго времени суток, коллеги.

Прошу подсказать — мне надо в результаты mfilter вставить блок с чанком. Всего выводится 12 результатов, мне надо вставить после 6, т.е. разбить результаты пополам блоком с чанком.

Уверен на феноме(на нём и сделан сайт) есть решение, но сходу в голову не приходит, может кто уже сталкивался с такой задачей…
Илья
12 декабря 2018, 12:13
modx.pro
1 002
0

msProducts tv where Unexpected token

Доброго времени суток!

Имеется tv-поле «sale» в формате checkbox

[[!msProducts?
      &depth=`10`
      &tpl=`ms_product_list`
      &includeTVs=`rating,sale`
      &where = `{"sale:=":"Да"}`
      &limit=`300`      
]]
В логе вот это:
Unexpected token ':' in c077703ec63fb69684311649aac1f939 line 251, near '{«sale:=»:' < — there

С чем это может быть связано?

С уважением.
Андрей Иванов
12 декабря 2018, 11:39
modx.pro
1 079
0

Почему не срабатывает модификатор?

Доброго времени суток!

В коде:
&tplInnerRow=`@INLINE <li><a class="[[+id:isequalto=`95`:then=`action`:else=`[[+id]]`]]" href="[[+link]]">[[+menutitle]]</a></li>`
Вот эта часть:
class="[[+id:isequalto=`95`:then=`action`:else=`[[+id]]`]]"
выводит class=«95»

Никто не подскажет, почему не срабатывает условие?
С уважением.

PS Я пробовал и с другими похожими модификаторами, та же история.
Андрей Иванов
12 декабря 2018, 09:44
modx.pro
917
0

Пользовательский код в безопасный php?

Добрый день! Нужно чтоб пользователи могли ввести в базу функцию времени изготовления деталей, которая затем будет инклюдится при расчетах занятости станков и специалистов. Функция может содержать как и простые формулы типа время = площадь_детали/константу, так и сложные функции с if, switch, foreach, sin и т.д. Желательно сделать так чтобы из этих функции нельзя было прочитать из базы записать в базу, прочитать удалить файлы и т.д.
Есть какие-нибудь готовые решения этого вопроса? Или как сделать решение?
Александр Туниеков
12 декабря 2018, 08:21
modx.pro
747
0

Проблема с Revo MODx 2.7.0 + Babel

Добрый вечер. Во всех проектах на MODx для создания локализаций использовал пакет Babel.
Для вывода статических слов/строк по сайту использовал структуру:

[[%name? &topic=translate &namespace=babel]]

где «name» — ключ в файле с переводами (core/components/babel/lexicon/ru/translate.inc.php — для контекста ru), пример строки в файле:

$_lang['name'] = 'Имя';

Проблем в работе не возникало.
Но в последней версии Revo MODx 2.7.0, сразу при установке Babel была выведена ошибка:

modAction support is deprecated since version 2.3.0…

И в работе, при обращении к пространству имён babel "&namespace=babel", страница на которой собственно обращение и было, просто не формируется, показывая мне белый экран без каких либо ошибок.

Может кто посоветует что-то по этому поводу?
Спасибо.

upd.: Проблема решена, все было слишком просто. Один из файлов translate.inc.php, был в кодировке отличающейся от остальных, после установки ему правильной кодировки проблема исчезла.
Евгений
11 декабря 2018, 21:58
modx.pro
1 534
0

вывод всех опций из категории

Добрый день!

Написал снипет, который должен выбирать все опции из категории. Он запрос делает правильный, но почему то результирующий массив пуст. Хотя если этот же запрос выполнить в phpmyadmin то все нормально выводится

<?php
$q = $modx->newQuery('msOption');
$q->leftJoin('msCategoryOption', 'msCategoryOption', 'msCategoryOption.option_id=msOption.id');
$q->select(array(
    $this->modx->getSelectColumns('msOption', 'msOption'),
    $this->modx->getSelectColumns('msCategoryOption', 'msCategoryOption', '', array('id', 'option_id'),
        true),
));

$q->where(array(
            'msCategoryOption.category_id' => 9,
        ));
        
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
echo $q->toSQL();


Запрос в итоге —
SELECT `msOption`.`id`, `msOption`.`key`, `msOption`.`caption`, `msOption`.`description`, `msOption`.`measure_unit`, `msOption`.`category`, `msOption`.`type`, `msOption`.`properties`, `msCategoryOption`.`category_id`, `msCategoryOption`.`rank`, `msCategoryOption`.`active`, `msCategoryOption`.`required`, `msCategoryOption`.`value` FROM `modx_ms2_options` AS `msOption` LEFT JOIN `modx_ms2_category_options` `msCategoryOption` ON msCategoryOption.option_id=msOption.id WHERE `msCategoryOption`.`category_id` = '9'
если в phpmyadmin —

Но если сделать print_r($res) — ПУСТО!

Подскажите пожалуйста — в чем ошибся?

Еще выяснилось, что любой запрос к msOption выводит пустой результат, даже такой —
$q = $modx->newQuery('msOption', array('id:>' => 0));
$q->prepare();
$q->stmt->execute();
echo $q->toSQL();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $v) {
	echo $v['key'];
}
результат —

Но прямой запрос — работает!!!
$sql = "SELECT op.*, catop.* FROM `modx_ms2_options` as op LEFT JOIN `modx_ms2_category_options` as catop on op.id = catop.option_id where catop.category_id = 9";
$q = $modx->prepare($sql);
$q->execute();
$res = $q->fetchAll(PDO::FETCH_ASSOC);

foreach ($res as $v) {
	echo $v['key'] . ' | ';
}
Евгений
11 декабря 2018, 19:48
modx.pro
1 162
0

Расшифровка json для вывода числа посетителей из Яндекс.Метрика API

Здравствуйте! Прошу заранее прощения, мягко говоря не профи в программировании.
Spirit_Ninja
11 декабря 2018, 18:51
modx.pro
1
1 436
-1

Вывод изображения в Заказы>Покупки (админка Minishop2)

Всех приветствую.

Первый раз с Minishop. Столкнулся с вопросом: как выводить изображение в окне заказов, а именно в табе «Покупки».

Попробовал в лоб добавить к системной настройке ms2_order_product_fields: product_thumb
Теперь в таблице выводится путь к превью изображения. А как сделать чтобы там было именно изображение?
Алексей
11 декабря 2018, 17:46
modx.pro
3
2 186
+1

Вывод ближайших мероприятий после текущей даты!

Приветствую сообщество!

В общем задача следующего характера.
Требуется организовать вывод ближайших мероприятий от текущей даты.

Что уже есть:
1. ТВ-поле со значением ввода «Дата» и вывода «Текст»
2. Вызов getTickets через феном.

Какие условия требуются:
1. Вывод ресурсов позже текущей даты
2. Вывод только 3-х ресурсов
3. Вывод ресурсов должен быть самый ближний к текущей дате, но не более 3-х

В общем пока писал заметку, прикрутил костыль, не совсем удачный, но какой есть.
Сейчас проверка стоит в самом чанке феномом:
Если текущая дата меньше даты ТВ, то выводить мероприятие.

Выход не совсем хороший, т.к. теряется возможность указать промежуток времени, допустим ближайшую неделю, а выводиться будет получается все, что стоят позже, если их всего допустим 3 и один из них будет только через пол года.

В общем товарищи помогите разобраться в непростом деле!
Andrey
11 декабря 2018, 17:34
modx.pro
740
0