Установка хака:
1 Открываем файл /engine/modules/addnews.php
Находим:
$allow_addnews = true;
Ниже вставляем:
$addnewsTemplate = 'addnews'; // Шаблон по умолчанию
if($_GET['tpl'] == 'history') $addnewsTemplate = 'addhistory'; // Шаблон для добавления историй
if($_GET['tpl'] == 'event') $addnewsTemplate = 'addevent'; // Шаблон для добавления событий
Т.е. из примера мы видим, что для каждого шаблона необходимо создавать отдельное условие, сделано это для того, чтобы избежать сообщений об отсутствующем шаблоне когда не фильтруется $_GET.Далее находим:
$tpl->load_template( 'addnews.tpl' );
Заменяем на:
$tpl->load_template( $addnewsTemplate.'.tpl' );
2 Теперь сделаем нормальный ЧПУ для новых форм добавления новостей. Открываем
/.htaccsess
RewriteRule ^addnews.html$ index.php?do=addnews [L]
Ниже вставляем:
RewriteRule ^addhistory.html$ index.php?do=addnews&tpl=history [L]
RewriteRule ^addevent.html$ index.php?do=addnews&tpl=event [L]
3 Ну и конечно же нам нужны собственные заголовки для спидбара и метатега title.
Открываем файл engine/engine.php
Находим:
elseif ($do == 'addnews') $nam_e = $lang['title_addnews'];
Заменяем на:
elseif ($do == 'addnews') {
switch ($_GET['tpl']) {
case 'history':
$nam_e = 'Добавление истории';
break;
case 'event':
$nam_e = 'Добавление события';
break;
default:
$nam_e = $lang['title_addnews'];
break;
}
}
Готово!Думаю дальнейшее добавление новых шаблонов не составит труда.
Необязательные доработки
После добавления новости через нестандартную форму добавления, если нужно добавить ещё — то по умолчанию при клике на ссылку «Добавить ещё» нас перекинет на стандартную форму добавления. Это и исправим.
Открываем файл engine/modules/addnews.php
Ищем:
if( $config['allow_alt_url'] == "yes" ) msgbox( $lang['add_ok'], "{$msg} $lang[add_noch] $lang[add_or] $lang[all_prev]" );
Заменяем на:
if( $config['allow_alt_url'] == "yes" ) {
$_adnt = explode('tpl=', $_SERVER['QUERY_STRING']);
$addNewsTplName = ($_adnt[1]) ? $_adnt[1] : 'addnews' ;
msgbox( $lang['add_ok'], "{$msg} $lang[add_noch] $lang[add_or] $lang[all_prev]" );
}
Теперь ссылка будет отрабатывать правильно!Надеюсь статья была вам интересна и жду ваших мнений!
Версия DLE: 9.x-10.1
Автор: ПафНутиЙ Вернуться назад