3.04.13, 01:20
3 комментарий
  DLE Хаки

Добавляем шаблоны 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_названиеполя}шаблоны для dle 11.2

Комментарии

  1. NorDULaN Пользователь offline 2 мая 2013 18:57                    

    По-моему проще всё это настроить в самих категориях...
    У меня после этого addnews, Hacking attempt!выдает..

  1. ToNik Пользователь offline 2 мая 2013 19:23                    

    Цитата: NorDULaN
    По-моему проще всё это настроить в самих категориях...
    У меня после этого addnews, Hacking attempt!выдает..


    В поле:
    2. Открыть файл engine/modules/addnews.php
    ошибка была.
    Исправил.

    Сам не тестировал, но должно работать...

  1. NorDULaN Пользователь offline 2 мая 2013 19:35                    

    Уже смирился, и полностью снес^^
    Надо было публикации добавлять...

Напишите своё мнение