Последнее обновление: 18.05.2012 в 02:00
Подпишись на RSS
rss Подпишитесь на RSS, чтобы всегда быть в курсе событий.

Комментарии

Присоединяйтесь к обсуждению
  • Denis: Попробуйте обновить кэш
  • porcelanosa: У меня почему-то ничего не появилось — т.е. после применения к странице шаблона — ничего не...
  • Mark Hamstra: I used Google Translate to read this post, and just wanted to add that those issues should have been...
  • безимени: все было бы прекрасно если бы не гигантское количество грамматических ошибок. Серьезно. Глаза режет :(
  • Vasiliy Ivanov: Уже есть рабочий плагин, если готовы заняться — ради бога.=) Напишите только в разработчики...
28 Январь 2009 · о работе

Часто слышу от родных и друзей  вопрос: «А зачем тебе все это?». Зачем эти бессонные ночи и долгие часы работы в сети ради, зачастую смешной прибыли, а то и просто за просто так. Ну что же отвечу на этот вопрос…Во-первых, я не такой бескорыстный как кажется иногда гораздо выгоднее разместить на сайте ссылку сюда или [...]

Bookmark and Share

Началось для меня все достаточно неожиданно. Во время очередных ночных поседелок с пятницы на субботу ко мне в контакт постучалась Чешегорова Лена и предложила завтра(а на тот момент уже сегодня) съездить на масленницу в село Новотроицкое. Выезжать предстояло в 6 вечера от «Теремка»(оффициальное название Сибирский Культурный Центр) дорогоа Оказавшись в тереме примерно без двадцани шесть [...]

Bookmark and Share

loom-studio на Free-lance.ru
27 Февраль 2011

AJAX на MODx

Рубрика: MODx, о работе. Метки: , ,
Vote This Post DownVote This Post Up (+1 rating, 1 votes)
Loading ... Loading ...

Недавно возникла задача получит список записей на MODx Evo с использованием AJAX.Кое-какие замечания по этому поводу далее

Обычно для этих целей я использую нижеследующий код:

<?php
// Setup the MODx API
define('MODX_API_MODE', true);
include_once('index.php');
 $html= $modx->runSnippet('имя сниппета',[массив с параметрами]);
echo $html;
?>

В целом всё достаточно просто.Включаем режим API, подключаем и инициализируем MODx, вызываем нужный сниппет с заданными параметрами, выводим результат на экран.

Но сегодня пришлось вызывать сниппет, который брал данные из чанка, кажется что проще:

// некоторые предварительные действия
return $modx->parseChunk('имя чанка',[список параметров]);

Но к моему удивлению результат оказался пустым. Краткий анализ кода ядра показал, что MODx берёт чанки из переменной chunkCache в которой находятся чанки текущего шаблона в виде пары имя=>тело чанка.
А при таком формате вызова, как указан на первом листинге шаблон у меня пустой и чанков в нем нет, и как следствие функция parseChunk возвращает пустой результат.

После ещё некоторого времени потраченного на раскапывание кода ядра было найдено решение, может не совсем аккуратное, но работающее

<?php
// Setup the MODx API
define('MODX_API_MODE', true);
include_once('index.php');
$modx->mergeChunkContent('{{имя чанка}}');
 $html= $modx->runSnippet('имя сниппета',[массив с параметрами]);
echo $html;
?>

Возможно, кому-то это пригодиться и сэкономит кучу времени.

Bookmark and Share

Читайте так же:



  • http://Сайт Maxim

    Не могли бы вы рассказать как это работает, где js код, что это за фаил и куда прописывать? если можно то поподробнее, заранее спасибо!!!

    • http://loom-studio.net Денис

      опишите в личку ситуацию, вероятно так будет быстрее и надежнее

Мы плетем паутину
Создание сайтов для меня это не просто работа, это то, что больше всего мне нравится в этой жизни. Я постояно учусь новому и кое-что попадает на страницы этого блога. Сюда же я выкладываю свои мысли о жизни. Заходите, читайте, спрашивайте. Или пишите на loomst[at]gmail[dot]com

Twitter

Наш микроблог на Twitter

Рубрики

Поиск информации по категориям

Счетчик

Статистика сайта
Яндекс.Метрика