****
Кстати, в админке предусмотрено добавление новостей, и даже блок для этого есть:
/**
* Add
* Блок добавления
*/
$subtitle = '';
if($GET['rem'] == 'new')
{
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."news`
SET
`subtitle`='". IRB_LANG_NEW_NEWS ."',
`text` ='". IRB_LANG_NEW_NEWS ."'"
);
reDirect('rem=edit', 'id='. mysql_insert_id());
}
А вот ссылки с передачей параметра GET 'rem'= 'new', нигде нет :( Соответственно и добавить новость нет возможности.
В admin/news/show.tpl добавил следующее:
<div id="new">
<a href="<?php echo href('rem=new'); ?>">Добавить новость</a> <br />
</div>
И все работает!!!
Спустя 2 минуты, 21 секунда (9.08.2012 - 14:10) Игорь_Vasinsky написал(а):
для начала создать дополнительную таблицу с тегами
newsid | tag
потом дополнить форму добавления новостей полем для тегов.
после этого можно шарить по ней и вытаскивая newsid - тащить юзера за уши на эту новость
newsid | tag
потом дополнить форму добавления новостей полем для тегов.
после этого можно шарить по ней и вытаскивая newsid - тащить юзера за уши на эту новость
Спустя 20 часов, 55 минут, 39 секунд (10.08.2012 - 11:05) oleg_n написал(а):
Игорь_Vasinsky, это я понимаю, что без доп. таблицы не обойтись
Вот что пришло мне в голову:
Создаю 2 таблицы - таблицу с тэгами и таблицу, в которой id новости соответствует некоторое количество id тэгов.
В запросе же указываю номер id тэга, по которому определяются нужные id новостей и производится выборка из таблицы с новостями.
Почему так? Мысль такая - тэги могут добавляться по мере необходимости, соответственно их проще записывать в таблицу, да и отсортировывать по id, мне кажется проще, чем по самому тэгу. К тому же, при добавлении тэга к новости, идеальным будет вывод всего списка возможных тэгов, когда при клике на нужный тэг, он автоматически добавляется в нужное поле.
Отдельная таблица со списком соответствий, ещё хороша тем, что таких таблиц может быть несколько - для новостей и для статических страниц, причем стат. страницы могут находится в разных разделах сайта и при этом первая часть названия таблицы будет соответствовать названию раздела со стат. страницами и содержать их id
Дело осталось за малым - все это реализовать
Вот что пришло мне в голову:
Создаю 2 таблицы - таблицу с тэгами и таблицу, в которой id новости соответствует некоторое количество id тэгов.
В запросе же указываю номер id тэга, по которому определяются нужные id новостей и производится выборка из таблицы с новостями.
Почему так? Мысль такая - тэги могут добавляться по мере необходимости, соответственно их проще записывать в таблицу, да и отсортировывать по id, мне кажется проще, чем по самому тэгу. К тому же, при добавлении тэга к новости, идеальным будет вывод всего списка возможных тэгов, когда при клике на нужный тэг, он автоматически добавляется в нужное поле.
Отдельная таблица со списком соответствий, ещё хороша тем, что таких таблиц может быть несколько - для новостей и для статических страниц, причем стат. страницы могут находится в разных разделах сайта и при этом первая часть названия таблицы будет соответствовать названию раздела со стат. страницами и содержать их id
Дело осталось за малым - все это реализовать
Спустя 44 минуты, 14 секунд (10.08.2012 - 11:50) Игорь_Vasinsky написал(а):
я тебе тоже самое написал -только одна таблица
Цитата |
Отдельная таблица со списком соответствий, ещё хороша тем, что таких таблиц может быть несколько - для новостей и для статических страниц, причем стат. страницы могут находится в разных разделах сайта и |
так у каждой новости должен быть уникальный id, хоть она в 10й поддериктории родительской категории.
Спустя 47 минут, 31 секунда (10.08.2012 - 12:37) oleg_n написал(а):
Цитата (Игорь_Vasinsky @ 10.08.2012 - 12:50) |
я тебе тоже самое написал -только одна таблица |
Таблиц таки, как минимум две
Цитата (Игорь_Vasinsky @ 10.08.2012 - 12:50) | ||
так у каждой новости должен быть уникальный id, хоть она в 10й поддериктории родительской категории. |
Вы неверно все поняли - для новостей, своя таблица и свой уникальный id для каждой новости - это однозначно! Дело в другом - есть допустим поддериктория, в которой лежат стат. страницы и которые было бы желательно тоже проиндексировать через тэги, вот для них и создается другая таблица. При поиске по тэгам, сканируется все таблицы
Спустя 3 часа, 14 минут, 57 секунд (10.08.2012 - 15:52) oleg_n написал(а):
Пока тэги обрастают мыслями, я прикрутил к редактору новостей WYSIWYG редактор, который использовался для статических страниц, поскольку тот что предложил Николай, мне не по душе :)
Все довольно просто. Меняем текст admin/news/show.tpl:
А в контроллере новостей админки и модуле новостей, нужно убрать вызов функции createBBtags, чтобы сохраненные новости отображались корректно. И дабы соблюсти все правила, при выводе неполной новости, применим strip_tags без параметров:
И чтобы не пролезла лишняя хрень из текста при выводе полной новости, применем strip_tags с параметрами исключения:
В доп. параметре прописаны те хтмл-тэги, которые нужно исключить из обрезания, и этот список можно ещё дополнить ;)
Все довольно просто. Меняем текст admin/news/show.tpl:
<h2>Новости</h2>
<form action="" method="post">
<?php echo $page_menu; ?>
<div style="padding:10px">
<div style="float:left">
<?php echo $news; ?>
</div>
<div style="float:right;padding:10px; width:600px; min-height:400px; color:#000000; background-color:#FFFFFF; border:1px solid">
<script type="text/javascript">
WYSIWYG.attach('editor', full);
</script>
<div id="main"></div>
<!-- window with smiles end -->
<!-- form begin -->
<form action="" method="post">
Заголовок:<br />
<input size="70" name="form[value1]" type="text" value="<?php echo $POST['value1'] ?>" />
<textarea id="editor" name="form[value2]" cols="60" rows="15" onselect='savesel(this)' onchange='savesel(this)'
onclick='savesel(this)' onfocus='savesel(this)' onkeyup='savesel(this)'><?php echo $POST['value2'] ?></textarea>
<br />
<input type="submit" name="ok" value="отправить" />
</div>
<div style="clear:both"></div>
<div id="new">
<a href="<?php echo href('rem=new'); ?>">Добавить новость</a> <br />
</div>
<div style="clear:both"></div>
</div>
</form>
А в контроллере новостей админки и модуле новостей, нужно убрать вызов функции createBBtags, чтобы сохраненные новости отображались корректно. И дабы соблюсти все правила, при выводе неполной новости, применим strip_tags без параметров:
$row['text'] = strip_tags($row['text']) . "...";было
$row['text'] = createBBtags($row['text'], false) . "...";
И чтобы не пролезла лишняя хрень из текста при выводе полной новости, применем strip_tags с параметрами исключения:
$row['text'] = strip_tags($row['text'],'<p><u><i><H1><H2><strong><br><img>');
В доп. параметре прописаны те хтмл-тэги, которые нужно исключить из обрезания, и этот список можно ещё дополнить ;)