Добавляем шаблоны addnews

Добавляем шаблоны addnews

Много категорий кардинально отличающихся друг от друга по содержанию и доп.полям и чтобы не путать журналистов и просто обыденных пользователей, захотевших опубликовать новость был создан этот хак. Еще проще - он позволит использовать разные шаблоны добавления новостей для разных категорий.


Установка:
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
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.