Добавление новых (кастомных) полей для модуля Блоги 2.0 — различия между версиями
VITL' (обсуждение | вклад) (Новая страница: « category:Описание модулей и макросов Изменение кода аналогично тому как это описано в стат…») |
Mad grant (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | [[Категория:Модуль блоги20]][[Категория:Написание кастомных макросов]] | |
Изменение кода аналогично тому как это описано в статье "Добавление новых (кастомных) полей для модуля Комментарии". | Изменение кода аналогично тому как это описано в статье "Добавление новых (кастомных) полей для модуля Комментарии". | ||
Копируем код метода commentAdd из файла ~classes/modules/blogs20/class.php в файл classes/modules/ blogs20/__custom.php, переименовываем метод, пусть будет название commentAddNew. Создаем файл permissions.custom.php, содержимое файла permissions.custom.php должно быть таким: | Копируем код метода commentAdd из файла ~classes/modules/blogs20/class.php в файл classes/modules/ blogs20/__custom.php, переименовываем метод, пусть будет название commentAddNew. Создаем файл permissions.custom.php, содержимое файла permissions.custom.php должно быть таким: |
Версия 20:40, 4 июня 2013
Изменение кода аналогично тому как это описано в статье "Добавление новых (кастомных) полей для модуля Комментарии". Копируем код метода commentAdd из файла ~classes/modules/blogs20/class.php в файл classes/modules/ blogs20/__custom.php, переименовываем метод, пусть будет название commentAddNew. Создаем файл permissions.custom.php, содержимое файла permissions.custom.php должно быть таким:
<?php
$permissions = Array(
'common' => Array('commentAddNew')
);
?>
В коде метода commentAddNew меняем все записи:
$this-> и self::
на
def_module::
После записи:
$sContent = htmlspecialchars(trim(getRequest('content')));
Прописываем прием значения кастомного поля с идентификатором newfield (для примера):
$sField = htmlspecialchars(getRequest('newfield'));
После записей:
$oComment->setValue('content', $sContent);
$oComment->setValue('author_id', $authorId);
Сохраняем значение нашего поля:
$oComment->setValue('newfield', $sField);
Также не забудьте в шаблоне ~tpls/blogs20/default.tpl, в блоках comment_add_form и comment_add_form_guest поменять значение action, заменив commentAdd на commentAddNew.