Pimcore CMS: Zend Framework + extJS

Посмотрел тут результаты конкурса 2010 Open Source Awards. Там, скажу я вам очень много интересных разработок. Например, CMS система Pimcore на базе Zend Framework и extJS. Т.к. мы в компании тесно работаем с ZF, мне было интересно посмотреть реализацию работы со страницами и объектами в этой CMS. Далее я напишу, как создать первую страницу в этой системе.

Pimcore я устанавливал на локальный адрес http://pimcore.new, поэтому зайдя по ссылке http://pimcore.new/admin/ я увидел админ-панель.

Довольно симпатичная админка. Если вы хоть раз работали с ExtJS приложением (например с админкой сетевого диска Synology) то вам она покажется очень знакомой. Для того, чтобы добавить страницу нам необходимо создать контроллер с действием и вид.

Создайте файл ContentController.php в папке /website/controllers со следующим содержанием:

Далее создайте папку “content” в папке “/website/views” и в ней файл default.php со следующим содержанием:

Отлично, мы сделали вид и контроллер, теперь добавим шаблон (лейаут) для него. Создаем файл standart.php в папке /website/views/layouts:

Дальше идём в админке в Settings -> Document types и добавляет там новый тип документа “ContentPage” (name = ContantPage, controller = content, action = default, template = default, type = page, priority = 1).

Теперь можно добавлять саму страницу. Правой кнопкой кликаем на Home в левой части экрана, Add Page -> ContentPage.

Название страницы ставим “test”, Predifinition Content Type = “ContentPage”, Controller = content, Action = default, Template = “content/default.php”.  Дальше во вкладке “Edit” указываем название абзаца, и нажимаем 1 (+) кнопку, после чего откроется WYSIWYG-редактор, в котором можно ввести текст абзаца.

Дальше вводим адрес http://pimcore.new/test и видим нашу страницу.

Работа с этой CMS оставила у меня хорошее впечатление, единственное, что его подпортило – это глюк с контекстным меню. Иногда надо было по 1- раз кликать правой кнопкой мыши на Add Page, чтобы появилось подменю. Попробую проверить это в других броузерах, может это глюк моего Firefox.

Ну и на закуску нагрузочное тестирование этой страницы.

Запрос к БД был один, кэширование отключено. Думаю, довольне неплохо, учитывая, что система работала в dev режиме.

Ссылки

Pimcore Wiki

6 Comments

  1. Ошибочка:
    Далее создайте папку «content» в папке «/website/views» и в ней файл default.php со следующим содержанием

    создать папку “content” следует в
    /website/views/scripts

  2. В примере ошибка. Эта же ошибка есть и в оригинальном “Быстром страте”.
    на шаге: Далее создайте папку «content» в папке «/website/views» и в ней файл default.php со следующим содержанием… первая строка содержит ошибку.
    Не павильный вариант:
    layout()->setLayout(‘standard’); ?>
    Правильный вариант:
    layout()->setLayout(‘standart’); ?>

    Обратите внимание на последнюю букву в лайауте.

Leave a Comment