Добавляем шаблоны addnews
Много категорий кардинально отличающихся друг от друга по содержанию и доп полям и чтобы не путать журналистов и просто обыденных пользователей, захотевших запостить новость был создан этот хак.
Назначение: Вывод для определенных категорий - своего шаблона добавления новостей.
Версия: тест на 9.7, 9.8, думаю пойдет на всей 9 линейки.
Время установки: 2 минуты
Установка:
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 вашей категории.
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_названиеполя}