Пошаговая инструкция о том как просто начать редактировать материалы Joomla в модальном окне.
1) Ставим плагин Modalizer от NoNumber и настраиваем его.
2) У многих шаблонов есть подшаблон (обычно он располагается в корневой папке шаблона и называется component.php) представляющий из себя легкую версию вашего основного шаблона. Можете использовать его, либо создать отдельный файл и указать его в настройках Modalizer.
3) Для ссылки "Создать материал" все просто. Создаем пункт меню и для ссылки задаем класс modal
4) Теперь самое интересное. Иконка редактирования. Заходим в папку /components/com_content/helpers и копируем файл icon.php в папку /имя_вашего_шаблона/html/com_content
5) Открываем icon.php и редактируем в нем три строчки: a) ~20 строчка.
class JHtmlIcon
меняем на
class JHtmlMyIcon
б) ~105 строчка, чтобы ссылка подхватывала подшаблон после index.php? добавляем ml=1& чтобы было
$url = 'index.php?ml=1&option=com_content&task=article.edit
&a_id='.$article->id.'&return='.base64_encode($uri);
в) ~126 строчка, делаем ссылку и задаем ей класс
$output = '
'.$text.'';
6) Наконец подключаем это все (на примере /html/com_content/featured/default_item.php) a) В начале подключаем наш icon.php после
defined('_JEXEC') or die;
добавляем
require_once (JPATH_THEMES . DS . $app->getTemplate(). DS . 'html/com_content/icon.php');
б) Наконец находим
item, $params); ?>
именяем 'icon.edit' на 'myicon.edit' Примечание. в пункте 6а можно использовать и require_once (dirname(__FILE__).DS.'icon.php'); но тогда icon.php придется пихать во все папки где его нужно подключить.
И еще так сказать TODO. Нужно сделать чтобы после нажатия Сохранить или Отмена в форме редактирования материала модальное окно закрывалось. Так как сейчас после нажатия в модальном окне просто загружается сайт. Не страшно но все же.