Помічник виду для інтеграції elrte і elfinder, російськомовне zend framework співтовариство

Рішення: використання спеціально для цього придуманих помічників виду (view helpers) в ZF.

Я використовую ElRTE і ElFinder в адміністративній панелі сайту. Це найбільш зручні інструменти для візуального редагування html-контенту, а також для роботи з файлами на серверами. Тому приклад буде для модуля admin. Втім, змінивши назву модуля на Application, приклад прекрасно підійде для модуля за замовчуванням (той який в основній папці "/ application /").

2. Завантажуємо і зберігаємо в "/ public / js /" ElRTE і ElFinder

4. Створюємо файл "/application/modules/admin/view/helpers/EnableElRTE.php" наступного змісту:

5. Створюємо файл "/application/modules/admin/view/helpers/EnableElFinder.php":

6. У поданні IndexAction IndexController 'a модуля admin (за замовчуванням такі штуки розташовуються в "/application/modules/admin/view/scripts/index/index.phtml") пишемо наступне:

7. В основному шаблоні ( "/application/layouts/scripts/index.phtml") при цьому повинно бути щось типу такого (стандартний код для шаблонів ZF):

Помічник виду для інтеграції elrte і elfinder, російськомовне zend framework співтовариство

щось типу такого

Як це працює

Помічники виду необхідні для динамічного додавання необхідних елементів у вихідний html-код. Як видно, кожен наш помічник є нащадком класу Zend_View_Helper_Abstract. який реалізує інтерфейс, що дозволяє отримати доступ до глобального об'єкту Zend_View. який якраз і відповідає за вихідний html-код.

У кожному помічника ми звертаємося до стандартних помічникам виду (HeadScript Helper для додавання js-файлів і js-коду і HeadStyle Helper для додавання файлів стилю) через глобальний об'єкт Zend_View.

Якщо інформація була корисною для вас, ви можете підтримати сайт.

Помічники це звичайно добре.
Але не буде зайвим подивитися в код connector.php і змінити

$ Fm = new elFinder ($ opts);
$ Fm-> run ();

session_save_path (realpath (dirname (__ FILE__). # '/ .. / .. / .. / data / session / #')); // або куди ви зберігаєте свою сесію
session_start ();
if (isset ($ _ SESSION [# 'Zend_Auth #']))
$ Storage = $ _SESSION [# 'Zend_Auth #'] [# 'storage #'];
if ($ storage-> role == # 'Admin #')
$ Fm = new elFinder ($ opts);
$ Fm-> run ();
>
>