Всем доброго времени суток.. Наткнулся на странность: есть сайт http://motorespect.com, изготовлен на MODX REVOLUTION 2.3.3, версия движка очень почтенная, но до сих пор работает, хоть и со скрипом - слишком много ресурсов напихано. У этого сайта есть ресурс 404, настроен как положено - в системных настройках прописан id соответствующего ресурса. Странность заключается в том, что если ссылку motorespect.com/catalog слегка изменить, к примеру, так: motorespect.com/catalog2 , то выводится, как и положено, ресурс 404. А вот если изменить алиас вложенной страницы, то есть, было так: motorespect.com/catalog/equipment , ввести так - motorespect.com/catalog/equipment2 , то выводится уже служебная страница сервера, тоже, как я понимаю - отдающая 404 (хотя и пишет, что "ошибка 503"). Первый раз с таким сталкиваюсь, не посоветуете, в какую сторону смотреть? ЗЫ. "Подозрительные" плагины отключал - результат тот же...
в итоге получим массив ID. На практике столкнулся с тем, что getTVValue вырезает "||". В итоге использовал
Тоже верно, но вот это тоже на всякий случай учту для себя.
@Александр Марков, Спасибо за подсказки. У меня возникла необходимость подгрузить в окне список ресурсов сайта. Родного modx-combo-resource я так понял не существует? Нашело такое решение, но почему-то оно не работает:
Да, можно и так. только я не вижу смысла оформлять это в процессор. Процессор - это атомарная операция, для одного действия. Как например user/create. Сам импорт можно организовать обычным скриптом , который читает файл и в цикле вызывает процессор. И да, лучша использовать метод process. это основной метод, который задаёт последовательность вызовов остальных. Посмотрите, как реализован, например, этот метод у процессора ObjectGetList.
Перенес все в все заработало.
@Александр Марков, Я переписал свой процессор таким образом: Теперь импорт данных происходит хорошо, но последние в файле данные импортируются 2 раза. Я так понимаю из-за того, что сначала происходит импорт через процессор, вызываемый в цикле, а затем последние данные заносятся через return 'sxUserImportProcessor'; ? Как исправить подскажите пожалуйста. Может быть вообще не нужен здесь процессор sxUserImportProcessor, а просто скриптом все оформить в котором будет вызываться другой процессор?
@Александр Марков, 1. Я наверное не правильно использовал этот метод, он у меня для того, чтобы в окне в котором я выбираю файл во втором поле я могу выбрать группу (это тот самый второй параметр для импорта.) То есть нажимаю кнопку Импорт - открывается окно в котором 2 поля: выбрать файл и выбрать группу. Вот группа подгружается из другой таблицы БД. Был бы благодарен, если подскажете как это сделать правильно. 2. В таком случае, для того, чтобы у меня заносились все данные получить в каком-то стороннем файле (скрипте), а потом в нем вызвать процессор создания объекта? 3. Про ошибки да, виноват))
Я обычно перепроверяю любое числовое значение уже на javascript: parseint()