Интересный момент сегодня заметил... Сформировал Ajax-запрос, получил от сервера JSON-ответ, пытаюсь его использовать в своих целях, но возникает проблемка... Там, где должны были числовые значения быть, на самом деле сидят обычные строки. Пример: В javascript это очень важно, так как он более типизированный язык, чем php, и от типа данных и результат при сравнении может отличаться, и переменные разные методы будут иметь. Я сначала подумал, что это у меня процессор не правильно обрабатывает данные и переводит числовые значения в строки, но оказалось, что это сам PDO так делает (при чем именно PDO, а не xPDO). Это легко проверить, выполнив в консоли простой запрос: На выходе я получаю вот такой результат: То есть id содержит строку, а не число. Решение нашлось такое: Если выполнить его перед выполнением запроса, то данные приходят в нормальном виде. Если кому такое тоже понадобится, и чтобы это заработало на всем сайте, можно в плагине на OnMODXInit прописать эту строчку, а можно в каком-нибудь своем компоненте в metadata.mysql.php прописать
@Batyabest, 1. откуда Вы взяли у modObjectCreateProcessor метод prepareQueryBeforeCount? он используется в процессорах, которые предполагают получение списка объектов. 2. modObjectCreateProcessor рассчитан на добавление только одного объекта. т.е. нужно сперва получить файл, считать данные, а потом в цикле вызывать процессор создания объекта. тут не пойму, зачем цикл, если при первом же проходе идёт выход? ошибки ниоткуда не берутся. Их нужно создавать, например, вот потом можно и проверять на ошибки. Вообще, рекомендую изучить коды основных процессоров в файле core/model/modx/modprocessor.class.php
Добрый день. Делаю компонент, в котором одна из кнопок вызывает окно импорта данных из csv в таблицу БД. В одном поле выбирается файл (этот путь потом передается в процессор), а в другом поле выбирается второе необходимое для импорта значение (оно статично для всех данных импорта.). Проблема в том, что мой процессор по итогу заносит в БД лишь одно значение - причем либо первое, либо последнее. Подскажите, где у меня ошибка, и как мне сделать выполнение моего процессора в цикле, чтобы все данных заносились? Вот код моего процессора:
Я вам и писал: Если используете смарти, то {$marty.get.text}
Воистину, утро вечера мудренее! Все решилось очень просто - Теперь уживаются и поиск по сайту от Яндекса и релевантные рекламные блоки РСЯ в результатах поиска по сайту...
Пробовал делать поиск как на Newsmodxbox, переменная {$smarty.get.query} выводится, реклама работает как надо, но не могу вывести результаты поиска....
В таком виде не работает: searchText: "{$_GET['text']}",
Вот у вас при отправке формы запрос в адресную строку попадает: Вот и посмотрите как вы у себя можете вставить переменную $_GET['text'] в свой скрипт РСЯ. Если используете смарти, то {$marty.get.text}
Ссылка вот: http://tech1and.ru/poisk.html Но я там пока поиск по сайту от Яндекса поставил...
Дайте ссылку на страницу с поисковой формой.