This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 41.60 UAH.
Do you want to support owner of this site? Click here and donate to his account some amount, he will be able to use it to pay for any of our services, including removing this ad.

Декілька форм додавання новин в DLE

Встановлення:
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;
    }
}

4. Після додавання новини через нестандартну форму додавання, якщо потрібно додати ще - то за замовчуванням при кліці на посилання "Додати ще" нас перекине на стандартну форму додавання. Це і виправимо.
Відкриваємо файл engine/modules/addnews.php
Шукаємо:
if( $config['allow_alt_url'] == "yes" ) msgbox( $lang['add_ok'], "{$msg} <a href="{$config['http_home_url']}" . "addnews.html">$lang[add_noch]</a> $lang[add_or] <a href="{$config['http_home_url']}">$lang[all_prev]</a>" );

Міняємо на:
if( $config['allow_alt_url'] == "yes" ) {				
	$_adnt = explode('tpl=', $_SERVER['QUERY_STRING']);
	$addNewsTplName = ($_adnt[1]) ? $_adnt[1] : 'addnews' ;
	msgbox( $lang['add_ok'], "{$msg} <a href='{$config['http_home_url']}{$addNewsTplName}" . ".html'>$lang[add_noch]</a> $lang[add_or] <a href='{$config['http_home_url']}'>$lang[all_prev]</a>" );
}
Інформаційне повідомлення
Відвідувачі, які знаходяться в групі Гості, не можуть залишати коментарі до даної публікації.