Панель быстрого редактирования
Модуль позволяет редактировать данные модулей и интерфейс из пользовательской части сайта. Модуль состоит из двух частей: подключаемая часть и обработка запроса на редактирование в административной части.
<span class="useradmin_contener" ... ></span>
. В зависимости от верстки и CSS-оформления пользовательских шаблонов дизайна, внешний вид сайта с подключенной панелью быстрого редактирования (каким его видит только авторизованный администратор) может несколько отличаться от внешнего вида без панели, в каком сайт видят все пользователи.
Подключение
Подключаемая часть – файл modules/useradmin/useradmin.inc.php. В нем описан класс
Useradmin_inc. В модуле к объекту класса можно обратиться через переменную $this->diafan->_useradmin
. Экземпляр класса создается при первом вызове
переменной.
Методы
string get (string $text, string $name, integer $element_id, string $table_name, [integer $lang_id = 0], [string $type = '']) – Генерирует ссылку на форму редактирования.
- string $text: значение переменной
- string $name: название переменной
- integer $element_id: номер элемента
- string $table_name: таблица
- integer $lang_id: номер языка
- string $type: тип данных
Пример:
// для администратора сделаем доступным редактирование текста новости
$text = $this->diafan->_useradmin->get($text, 'text', $id, 'news', _LANG);
string get_lang (string $value, string $name, string $module_name) – Генерирует ссылку на форму редактирования перевода.
- string $value: текущий перевод
- string $name: строка для перевода
- string $module_name: модуль
Пример:
$text = $this->diafan->_useradmin->get_lang('hello', 'привет', 'site');
string|boolean false get_image (string $path) – Получает ссылки для редактирования изображения из папки USERFILES.
- string $path: относительный путь до изображения
array|boolean false get_meta (integer $element_id, string $module_name) – Получает ссылки для редактирования мета-данных через панель администрирования.
- integer $element_id: номер элемента
- string $module_name: модуль
Пример:
// получаем ссылки для редактирования мета-данных для страницы новости ID=3
$useradmin_links = $this->diafan->_useradmin->get_meta(3, "news");
echo '<meta name="useradmin_title" content="'.$useradmin_links["title_meta"].'">';
echo '<meta name="useradmin_description" content="'.$useradmin_links["descr"].'">';
echo '<meta name="useradmin_keywords" content="'.$useradmin_links["keywords"].'">';
void edit () – Генерирует данные для формы редактирования.
Пример:
echo $this->diafan->_useradmin->edit();
// выведет форму редактирования данных, заданных в $_GET массиве
string type (string $name) – Возвращает тип данных по имени переменной.
- string $name: имя редактируемой переменной
Пример:
echo 'Тип данных поля created: '.$this->diafan->_useradmin->type("created");
// выведет:
// Тип данных поля created: date
Для разработчика
Используется в основном в моделях модулей при генерации данных, реже в шаблоне для предоставления доступа к панели быстрого редактирования.
Работа с модулем должна производиться вне зоны кэширования.
Пример:
// news.model.php
if(! $this->result = $this->diafan->_cache->get($cache_meta, 'news'))
{
$this->diafan->_cache->save($this->result, $cache_meta, 'news');
}
//...
foreach ($this->result["rows"] as &$row)
{
//...
$row["name"] = $this->diafan->_useradmin->get(
$row["name"], 'name', $row["id"], 'news', _LANG
);
$row["anons"] = $this->diafan->_useradmin->get(
$row["anons"], 'anons', $row["id"], 'news', _LANG
);
$row["date"] = $this->diafan->_useradmin->get(
$row["date"], 'created', $row["id"], 'news'
);
//...
}
Как работает панель быстрого редактирования
Для редактирования информации из пользовательской части сайта необходимо включить эту возможность для нужного пользователя на странице редактирования пользователя в административной части. Настройка «Подключить панель быстрого редактирования» появляется только для типов пользователей, которым разрешен доступ в административную часть.
После включения режима редактирования в административной части, на сайте сверху появится административная панель. На этой панели нужно включить режим редактирования. Режим включен, когда подсвечен красным цветом.
При наведении на редактируемый элемент появится иконка «Карандаш». При нажатии на выбранный элемент откроется всплывающее окно, в котором вы сможете отредактировать элемент.
После сохранения элемента для дальнейшей навигации по сайту необходимо выключить режим редактирования. При выключенном режиме красная подсветка исчезнет.
Иконка карандаша рядом со ссылкой «режим редактирования» ведет на полное редактирование текущей страницы (категории или элемента модуля) в административной части.
Файлы
modules/useradmin/admin/useradmin.admin.action.php – обработка запроса на редактирование данных из пользовательской части;
modules/useradmin/js/useradmin.edit.js – форма редактирования контента из пользовательской части, JS-сценарий;
modules/useradmin/js/useradmin.js – панель быстрого редактирования, JS-сценарий;
modules/useradmin/useradmin.php – контроллер;
modules/useradmin/useradmin.action.php – подгрузка панели быстрого редактирования;
modules/useradmin/useradmin.css – панель быстрого редактирования, CSS;
modules/useradmin/useradmin.edit.php – форма редактирования контента из пользовательской части;
modules/useradmin/useradmin.edit.css – форма редактирования контента из пользовательской части, CSS;
modules/useradmin/useradmin.inc.php – подключение модуля;
modules/useradmin/useradmin.install.php – установка модуля;
modules/useradmin/views/m/useradmin.view.panel.php – шаблон панели быстрого редактирования;
modules/useradmin/views/useradmin.view.edit.php – шаблон формы редактирования данных;
modules/useradmin/views/useradmin.view.get.php – шаблон данных, доступных для редактирования с помощью панели быстрого редактирования;
modules/useradmin/views/useradmin.view.panel.php – шаблон панели быстрого редактирования.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.
Ваш комментарий будет первым.