Разные шаблоны добавление новостей addnews
Представляем вам хак для dle для версии 9.7 - 9.8 разные шаблоны добавление новостей addnews, как все понимаем что много категорий кардинально отличающихся друг от друга по содержанию и дополнительным полям и чтобы не спутать разных групп пользователей которые захотели опубликовать новость и был создан данный хак. В общем проще говоря он позволит использовать разные шаблоны добавления новостей для разных категорий при добавлении новости даже прямо с сайта, также смотрите у нас и другие хаки для dle вы найдете там много интересного и нужного для своего проекта.
Установка:
1. Открыть engine/modules/addnews.php и найти:
$tpl->load_template( 'addnews.tpl' );
Заменить на:
$load_tpl = $_REQUEST['t'];
if ($load_tpl == "") $load_tpl = "addnews";
$tpl->load_template( 'addnews/'.$load_tpl.'.tpl' );
2. Создать в templates/[ваш_шаблон]/ папку с названием addnews и переместить туда файл addnews.tpl.
3. Создать копию addnews.tpl и назвать его, например: addcoffee.tpl, где addcoffee - название категории, латиницей.
4. Открыть templates/[ваш_шаблон]/addnews/addcoffee.tpl и удалить:
<tr>
<td class="label">
Категория:<span class="impot">*</span>
</td>
<td>{category}</td>
</tr>
или примерное, где у вас находиться тег {category}
5. Найти, примерное (кнопка отправки):
<button name="add" class="fbutton" type="submit"><span>Отправить</span></button>
Добавить выше:
<input type="hidden" name="catlist[]" value="12"/>
где 12 - id вашей категории addcoffee.
6. Открыть в корне сайта .htaccess и найти:
RewriteEngine On
Добавить ниже:
RewriteRule ^addcoffee.html$ index.php?do=addnews&t=addcoffee [L]
где addcoffee (2 раза) - имя вашей категории
Готово!
Для добавления еще шаблонов - проделать все начиная с шага 3.
Для добавления в разные места шаблонов доп. поля, выполняем следующее:
1. Открыть engine/inc/xfields.php и найти:
$output = preg_replace("'\\[if-edit\\](.*?)\\[/if-edit\\]'s", (!$xfieldsadd) ? "\\1" : "", $output);
}
Заменить на:
$output = preg_replace("'\\[if-edit\\](.*?)\\[/if-edit\\]'s", (!$xfieldsadd) ? "\\1" : "", $output);
$outputList["{xfieldvalue_{$fieldname}}"] = $output;
$output='';
}
$output = implode(' ',$outputList);
2. Открыть engine/modules/addnews.php и найти:
$tpl->set( '{xfields}', $output );
Добавить ниже:
$tpl->set( '', $outputList );
Все!
Теперь в новом шаблоне можно уже выводить доп. поля тегом: {xfieldvalue_название-поля}
- Версия DLE: 9.7 - 9.8
- Категория: Хаки
- Автор: Dmitry Dark5ider