3-04-2013, 01:20
0
  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_названиеполя}

Комментарии

Никто еще не оставил комментариев – станьте первым!

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