1 (07.09.2012 17:17 отредактировано Kanra)

Тема: [Полезности] Собственные страницы добавления новостей

Думаю многие сталкивались с проблемой "все в куче" на странице addnews. Данный простой хак поможет вам оформить собственную страницу публикации материала.

Погнали. Копируем файл engine\modules\addnews.php, переименовываем, например в addfilms.php, открываем в редакторе, ищем

$tpl->load_template( 'addnews.tpl' );

заменить на

$tpl->load_template( 'addfilms.tpl' );

загружаем в ту же папку. Далее открыть engine\engine.php, найти

switch ( $do ) {

после вставить

case "addfilms" :
include ENGINE_DIR . '/modules/addfilms.php';
break;

Теперь, создаем в корне шаблона файл addfilms.tpl. Пример содержания (править под себя):

    <table class="tableform">
<tr>
            <td class="label">Заголовок:</td>
                        <td><input type="text" name="title" value="{title}" maxlength="150" class="f_input" /></td>
                      </tr>
<tr>
            <td class="label">Категории :</td>
                        
                        <td style="padding-bottom:5px;">
<input name="catlist[]" type="checkbox" value="id категории"> Категория 1<br>                        
<input name="catlist[]" type="checkbox" value="id категории"> Категория 2<br>        
<input name="catlist[]" type="checkbox" value="id категории"> Категория 3<br>
<input name="catlist[]" type="checkbox" value="id категории"> Категория 4<br>
                        </td>
                      </tr>
<tr>
            <td class="label">Описание:</td>
                        <td style="padding-bottom:5px;">[not-wysywyg]<textarea name="short_story" id="short_story" onclick=setFieldName(this.name) style="width:98%; height:160px" class="f_textarea" />{short-story}</textarea>[/not-wysywyg]{shortarea}</td>
                      </tr>                  

<tr id="xfield_holder_имя.доп.поля">
<td class=addnews>Образец доп. поля (тип одна строка):</td> 
<td class=xfields colspan="2"><input type="text" name="xfield[имя доп.поля]" id="xfield[имя доп.поля]" value="" />&nbsp;&nbsp;<font style="font-size:7pt">(необязательно)</font></td>
</tr>

<tr id="xfield_holder_имя.доп.поля">
<td class=addnews>Пример доп. поля типа список:</td>
<td class=xfields colspan="2">
<select name="xfield[имя доп.поля]">
<option value="0">Опция 1</option>
<option value="1">Опция 2</option>
<option value="2">Опция 3</option>
</select></td>
</tr>

[sec_code]
        <tr>
            <td class="label">
                Введите код<br />с картинки:<span class="impot">*</span>
            </td>
            <td>
                <div>{sec_code}</div>
                <div><input type="text" name="sec_code" id="sec_code" style="width:115px" class="f_input" /></div>
            </td>
        </tr>
        [/sec_code]
        <tr>
            <td class="label">&nbsp;</td>
                        <td>{admintag}</td>
                      </tr>
    </table>

Открываем страницу по адресу site/index.php?do=addfilms.

2

Re: [Полезности] Собственные страницы добавления новостей

А можно ли, чтобы пользователи могли добавлять новости только через эту форму?
Т.е. стандартное addnews.php они не видели, а видели только это и могли добавлять

3

Re: [Полезности] Собственные страницы добавления новостей

Кто мешает убрать ссылку с главной на добавление новости через стандартную форму?