magento: рендеринг внешнего html с использованием движка рендеринга magento - PullRequest
1 голос
/ 16 мая 2011

Я новичок в Magento, В настоящее время я изучаю возможность реализации проекта. Я хочу использовать внешнюю CMS для управления макетами, блоками и меню magento. Давайте возьмем drupal в качестве примера.

Я видел модуль, который делает то же самое, что называется drupento , который объединяет drupal и magento. К сожалению, мне не удалось заставить его работать. Этот модуль хранит фрагменты html в файловой системе, и magento визуализирует эти блоки. Итак, что я хочу знать:

  • Как использовать эти функции с помощью magento API?

  • Каковы пределы и что мы можем сделать, а что нет?

Есть идеи по этому поводу?

Привет

1 Ответ

1 голос
/ 16 мая 2011

Я не могу говорить с Drupal конкретно, но так как вы в общем спрашивали о другой CMS, я отвечу на это.Поскольку страницы Magento построены по модульному принципу, вы можете полностью заменить куски страницы теми, которые сгенерированы в другом месте.Общий подход будет выглядеть примерно так:

  1. Определите блок, который вы хотите сгенерировать в другой CMS
  2. Используйте файлы макетов Magento для удаления старого блока и рендеринга нового блокачто вы указываете
  3. Создайте свой блок и передайте в него все необходимые параметры
  4. Сделайте так, чтобы метод _toHtml вашего блока вызывал другую CMS для содержимого

Все готовохотите ли вы, чтобы Magento или другая CMS кэшировали содержимое блока, но вам, вероятно, следует разрешить это делать только одному или другому.

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

Помните, что вы, вероятно, не сможете вызывать собственные функции из другой CMS.изнутри Magento (попробуйте использовать WordPress theLoop в Magento, ха!), но скорее Magento будет потреблять блоки контента из другой CMS, как если бы это был сервис.Это из-за обычно взаимоисключающих структур, которые используются в каждой системе.

Надеюсь, что это немного прояснит!

Спасибо, Джо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...