<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Модуль блога. - LabCMS</title>
    <link>https://labcms.ru/discussion-theme.64/</link>
    <atom:link href="https://labcms.ru/discussion-theme.64.xml" rel="self" type="application/rss+xml"/>
    <description>Тема в форуме LabCMS</description>
    <language>ru-ru</language>
    <pubDate>Wed, 10 Jun 2026 10:45:48 +0300</pubDate>
    <lastBuildDate>Wed, 10 Jun 2026 10:45:48 +0300</lastBuildDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>LabCMS Feeder</generator>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p611</link>
      <description><![CDATA[Приветствую всех!<br />
Есть хорошие новости касательно модуля блога.<br />
Итак, что было добавлено в новой версии:
<br />&#160;<br />
- Ajax комментарии. Теперь комментарии работают на ajax, с помощью jQuery.<br />
- Возможность переключения в&#160;&#160;одно / многопользовательский режимы.<br />
В однопользовательском режиме блоги может добавлять и вести только админ. А в многопользовательском, другие пользователи сайта так же могут вести свои блоги.<br />
- Добавлена личная лента для пользователей. <br />
Каждый пользователь может подписаться под интересующий его публичный блог, но до этого нужно вступить в него.<br />
- Возможность подписаться в ленте на пользователя.<br />
- Изменен и доработан листинг блогов.<br />
- Добавлен предпросмотр при добавлении топика.<br />
- Добавлен предпросмотр при добавлении комментария.<br />
- Ajax перезагрузка новых комментариев на странице.<br />
- Добавлен автокомплит при добавлении меток, и при подписке на пользователя в ленте.<br />
- Исправлено много мелких ошибок. <br />
Пожалуйста, обратите внимание, что в стандартном шаблоне модуль выглядит не совсем хорошо, потому, что он просто не помещается по ширине, из-за боковых блоков, где расположены настройки ленты. <br />
Вроде бы все<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt="">]]></description>
      <pubDate>Sun, 18 Dec 2011 23:22:28 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p611</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p607</link>
      <description><![CDATA[Да, я тестирую в режиме отладки...]]></description>
      <pubDate>Sun, 20 Nov 2011 22:47:06 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p607</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p606</link>
      <description><![CDATA[А режим отладки включен?<br />
Если нет, то попробуйте сбросить кэш.]]></description>
      <pubDate>Sun, 20 Nov 2011 21:14:32 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p606</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p605</link>
      <description><![CDATA[Нет, не включал. В core.conf :<br />
PHP$config&#91;'separate_config'&#93;='';]]></description>
      <pubDate>Sun, 20 Nov 2011 20:29:13 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p605</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p604</link>
      <description><![CDATA[А конфиг на всех общий? Вы не включали раздельный конфиг для каждой группы?<br />
Можно так же проверить что лежит в файлах data/configs/]]></description>
      <pubDate>Sun, 20 Nov 2011 18:47:23 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p604</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p603</link>
      <description><![CDATA[Сейчас тестирую последнюю версию модуля, так вот была замечена странная штука... <br />
Я добавил 2 режима работы модуля, вот как выглядит config.xml:<br />
XML&#160;&lt;config&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;name&gt;blog_mode&lt;/name&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;type&gt;select&lt;/type&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;title&gt;Режим работы модуля (однопользовательский / многопользовательский)&lt;/title&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;describe&gt;В однопользовательском режиме блоги может добавлять и вести только админ. А в многопользовательском, другие пользователи сайта так же могут вести свои блоги.&lt;/describe&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;default&gt;1&lt;/default&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;callback&gt;config_blog_mode&lt;/callback&gt;<br />
&#160; &#160; &#160; &#160; &lt;/config&gt;<br />
Вот так выглядит callback функция:<br />
PHPfunction config_blog_mode&#40;&#41;<br />
&#160; &#160; &#123;<br />
&#160; &#160; &#160; &#160; $blog_modes&#91;1&#93; = &quot;Однопользовательский&quot;;<br />
&#160; &#160; &#160; &#160; $blog_modes&#91;2&#93; = &quot;Многопользовательский&quot;;<br />
&#160; &#160; &#160; &#160; return $blog_modes;<br />
&#160; &#160; &#125;<br />
В чем проблема: если, например, изменить в настройках сайта режим работы, и войти на сайт как админ, то в LabConfig::$mcfg['blog_mode'] лежит 2, как и нужно, а если зайти обычным пользователем, - лежит 1. <br />
Что не так ?<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt="">]]></description>
      <pubDate>Sat, 19 Nov 2011 16:06:29 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p603</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p590</link>
      <description><![CDATA[Пути исправил, спасибо! <br />
Что бы все заработало, нужно подключить файл самого фреймворка jQuery раньше, то бишь положить его в папку "js" самого скина, а не модуля. Теперь файл с jQuery уже лежит, где нужно, и ничего больше менять не потребуется.]]></description>
      <pubDate>Sun, 06 Nov 2011 14:52:15 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p590</guid>
    </item>
    <item>
      <title>mushtat</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p589</link>
      <description><![CDATA[Измените, пожалуйста, в файле form_add.tpl во второй и третьей строчке путь на такой:<br />
Text&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;{$base}at_blog/js/skins/markitup/style.css&quot; /&gt;<br />
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;{$base}at_blog/js/sets/default/style.css&quot; /&gt;<br />
Добавьте jQuery в пакет загрузки, а то его там нету.<br />
И ещё одно, не знаю, может это не столь существенно, но у меня с этим были проблемы: для js-файлов важен порядок подключения, а подключаются они в алфавитном порядке. Мне пришлось изменять имена файлов, а поскольку там не пару js + ещё &lt;script&gt; в tpl файле - я долго подбирал очерёдность с отладчиком. Вот что у меня получилось:<br />
<img class="bb" src="http://www.storage.mushtat.ru/img/js.gif" alt="" />]]></description>
      <pubDate>Sun, 06 Nov 2011 12:51:29 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p589</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p562</link>
      <description><![CDATA[Да, работа ведется. <br />
Прежде всего будет добавлена страница, на которой можно будет посмотреть информацию, комментарии, и остальные топики автора. <br />
Так же хотелось бы организовать рейтинговою систему для авторов/топиков. Но здесь мне еще не совсем понятно как это реализовать из технической стороны.<br />
Ну и пока еще обдумываю возможность подписатся под определенный блог, ну и личную ленту под подписанные блоги соответственно.]]></description>
      <pubDate>Mon, 26 Sep 2011 09:58:40 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p562</guid>
    </item>
    <item>
      <title>mushtat</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p561</link>
      <description><![CDATA[Скажите, после того, как модуль стал доступен в паблике, над ним еще продолжаются работы? Если да, то какие функции или настройки стоит ждать?]]></description>
      <pubDate>Sun, 25 Sep 2011 11:59:39 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p561</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p552</link>
      <description><![CDATA[Теперь все данные от пользователя эскейпяться. Проверил, - вроде бы теперь инъекции не проходят.<br />
Дописал листинг блогов, доступный для админа. Выводится в виде таблицы.<br />
Осталось подумать что делать с топиками, если блог удалить. <br />
Или же удалять топики, или же нужно создать еще 1 категорию блога по умолчанию, куда будут "сливатся" такие топики.]]></description>
      <pubDate>Thu, 25 Aug 2011 13:39:29 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p552</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p551</link>
      <description><![CDATA[Тег можно вырезать перед отображением... или вообще не вырезать - оставлять в виде комментария.]]></description>
      <pubDate>Fri, 19 Aug 2011 09:19:40 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p551</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p550</link>
      <description><![CDATA[Скорее всего, что бы оставить кат при редактировании топика, нужно добавить ещё одно поле в БД, где будет лежать вся статья вместе с тегом ката...]]></description>
      <pubDate>Fri, 19 Aug 2011 01:22:23 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p550</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p543</link>
      <description><![CDATA[<blockquote class="bb bb_quote">Loki:<br />
Ну или попытаться допилить файлменеджер. Это последняя бесплатная версия, которую автор выпустил по лицензии GPL, следующая была уже платная. Так что, судя по всему, обновлений не будет - можно курочить самим.</blockquote><br />
Да, думаю с этим разберемся.<br />
]]></description>
      <pubDate>Tue, 16 Aug 2011 16:20:40 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p543</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p542</link>
      <description><![CDATA[<blockquote class="bb bb_quote">Defari:Значит, нужно будет написать под него плагин, именно для загрузки фото.</blockquote><br />
Ну или попытаться допилить файлменеджер. Это последняя бесплатная версия, которую автор выпустил по лицензии GPL, следующая была уже платная. Так что, судя по всему, обновлений не будет - можно курочить самим.]]></description>
      <pubDate>Tue, 16 Aug 2011 14:41:21 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p542</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p541</link>
      <description><![CDATA[<blockquote class="bb bb_quote">Loki:С tinymce есть определенная трудность. Точнее, не конкретно с ним, а с файлменеджером - он не рассчитан на многопользовательскую работу. Так что по-умолчанию его надо либо запретить, либо придется его допиливать под потребности.</blockquote><br />
Значит, нужно будет написать под него плагин, именно для загрузки фото.<br />
Пока я подключил основные кнопки, как и писал выше.<br />
В принципе, думаю что в ближайшие дни смогу Вам скинуть, то что имеется на данный момент.]]></description>
      <pubDate>Tue, 16 Aug 2011 14:02:26 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p541</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p534</link>
      <description><![CDATA[Понятно, тогда пока нужно подключить основные кнопки (упр. шрифтом, кнопка ката).]]></description>
      <pubDate>Wed, 10 Aug 2011 20:07:54 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p534</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p533</link>
      <description><![CDATA[С tinymce есть определенная трудность. Точнее, не конкретно с ним, а с файлменеджером - он не рассчитан на многопользовательскую работу. Так что по-умолчанию его надо либо запретить, либо придется его допиливать под потребности.]]></description>
      <pubDate>Wed, 10 Aug 2011 16:39:42 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p533</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p532</link>
      <description><![CDATA[На счет прав, думаю что нужно сделать так:<br />
пока всё стандартно: редактирование, удаление, добавление топиков.<br />
Скорее всего нужно добавить ещё права модератора, по определённым категориям блогов, ну и администратора...]]></description>
      <pubDate>Wed, 10 Aug 2011 15:07:14 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p532</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p529</link>
      <description><![CDATA[Спасибо, так и сделал<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt="">
<br />&#160;<br />
<strong class="bb">UPD:</strong><br />
Вроде как функционал, который был выбран для основы реализован.<br />
Итак, что сейчас доступно из функционала:<br />
-Добавление категорий блогов.<br />
-Добавление топиков в определенную категорию.<br />
-Редактирование своих топиков.<br />
-Удаление своих топиков.<br />
-Блог для каждого пользователя по умолчанию.<br />
-Метки.<br />
-Листинг всех топиков на странице по умолчанию.<br />
-Листинг всех топиков определённой категории блога.<br />
Что планирую на ближайшие несколько дней:<br />
Теперь нужно немного привести к базовому виду сам шаблон, прикрепить tinymce.<br />
Разобратся с правами пользователей.]]></description>
      <pubDate>Mon, 08 Aug 2011 17:01:45 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p529</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p526</link>
      <description><![CDATA[Можно так сделать:<br />
MySQLSELECT t.tag_id, t.tag_text<br />
FROM ?_blog_tags t<br />
LEFT JOIN ?_blog_topic_tags tt ON t.tag_id=tt.tag_id<br />
WHERE tt.tag_id IS NULL]]></description>
      <pubDate>Mon, 08 Aug 2011 15:54:30 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p526</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p522</link>
      <description><![CDATA[Да, действительно так возвращается.<br />
При вот таком запросе:<br />
MySQL<br />
SELECT t.tag_id AS ARRAY_KEY,tt.tag_id,t.tag_text<br />
FROM ?_blog_tags t <br />
LEFT JOIN ?_blog_topic_tags tt ON t.tag_id=tt.tag_id <br />
HAVING tt.tag_id IS NULL<br />
&#160;<br />
Возвращается:<br />
PHP<br />
Array<br />
&#40;<br />
&#160; &#160; &#91;4&#93; =&gt; Array<br />
&#160; &#160; &#160; &#160; &#40;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tag_id&#93; =&gt; <br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tag_text&#93; =&gt; новая метка<br />
&#160; &#160; &#160; &#160; &#41;
<br />&#160;<br />
&#160; &#160; &#91;7&#93; =&gt; Array<br />
&#160; &#160; &#160; &#160; &#40;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tag_id&#93; =&gt; <br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tag_text&#93; =&gt; метки2<br />
&#160; &#160; &#160; &#160; &#41;
<br />&#160;<br />
&#41;<br />
&#160;<br />
Собственно без AS ARRAY_KEY, tag_id тоже почему-то нет.<br />
<strong class="bb">UPD:</strong><br />
А вот так:<br />
MySQL<br />
SELECT t.tag_id as tags_id,tt.tag_id,t.tag_text<br />
FROM ?_blog_tags t <br />
LEFT JOIN ?_blog_topic_tags tt ON t.tag_id=tt.tag_id <br />
HAVING tt.tag_id IS NULL<br />
&#160;<br />
Вот:<br />
PHP<br />
Array<br />
&#40;<br />
&#160; &#160; &#91;0&#93; =&gt; Array<br />
&#160; &#160; &#160; &#160; &#40;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tags_id&#93; =&gt; 4<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tag_id&#93; =&gt; <br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tag_text&#93; =&gt; новая метка<br />
&#160; &#160; &#160; &#160; &#41;
<br />&#160;<br />
&#160; &#160; &#91;1&#93; =&gt; Array<br />
&#160; &#160; &#160; &#160; &#40;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tags_id&#93; =&gt; 7<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tag_id&#93; =&gt; <br />
&#160; &#160; &#160; &#160; &#160; &#160; &#91;tag_text&#93; =&gt; метки2<br />
&#160; &#160; &#160; &#160; &#41;<br />
&#41;<br />
&#160;<br />
Если же убрать из запроса в первой строчке tt.tag_id, будет ошибка <br />
MySQL&quot;Unknown column 'tt.tag_id' in 'having clause'&quot;]]></description>
      <pubDate>Mon, 08 Aug 2011 15:02:34 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p522</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p521</link>
      <description><![CDATA[Если много, то, вероятно, больше подойдет левое соединение:<br />
MySQLSELECT t.tag_id <br />
FROM ?_tags t <br />
LEFT JOIN ?_tags_item ti ON t.tag_id=ti.tag_id <br />
HAVING ti.tag_id IS NULL]]></description>
      <pubDate>Mon, 08 Aug 2011 13:15:14 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p521</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p520</link>
      <description><![CDATA[Ну тут пока на ум приходит метод проверки описанный Вами выше (...tag_id NOT IN (?a)) .<br />
Только вот если будет много топиков, врядли этот вариант подойдет.]]></description>
      <pubDate>Mon, 08 Aug 2011 13:02:39 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p520</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p518</link>
      <description><![CDATA[По идее, и пусть остаются: сегодня этот тег не используется, а завтра используется. А если ему каждый раз присваивать новый id, то это будет неудобно.<br />
Но какой-то механизм очистки, конечно, нужен... А то таблица довольно быстро зарастет всякими "сорняками".]]></description>
      <pubDate>Mon, 08 Aug 2011 12:57:01 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p518</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p517</link>
      <description><![CDATA[Тут вроде бы разобрался. На счет меток, все работает так как нужно.<br />
Осталось предосмотреть проверку удаления метки из табл. ?_blog_tags, при удалении либо редактировании топика. <br />
Потому, что пока если удаляем/редактируем топик, в таблице ?_blog_tags метки то остаються.<br />
]]></description>
      <pubDate>Mon, 08 Aug 2011 12:47:38 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p517</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p509</link>
      <description><![CDATA[Спасибо, все понял. Я ещё как раз не описал методы удаления и редактирования.<br />
Думаю, что завтра этим займусь.]]></description>
      <pubDate>Thu, 04 Aug 2011 18:27:10 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p509</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p508</link>
      <description><![CDATA[PHP<br />
$new_tags=array&#40;'хлеб', 'зрелища'&#41;;<br />
//находим id всех существующих тегов<br />
$tag_keys=Db::i&#40;&#41;-&gt;selectCol&#40;&quot;SELECT tag_id AS ARRAY_KEY, tag FROM ?_blog_tags<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; WHERE tag_id IN (?a)&quot;, $new_tags&#41;;<br />
/*<br />
тут сопоставляем теги с их id и добавляем отсутствующие теги в базу<br />
в результате получаем массив $tag_items содержащий перечень tag_id для данной записи
<br />&#160;<br />
добавляем записи в таблицу _blog_topic_tags<br />
*/
<br />&#160;<br />
//оцищаем информацию о тегах, которые были раньше, но не используются сейчас<br />
Db::i&#40;&#41;-&gt;query&#40;&quot;DELETE FROM ?_blog_topic_tags<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#160;WHERE item_id=? AND tag_id NOT IN (?a)&quot;, $item_id, $tag_items&#41;;<br />
&#160;]]></description>
      <pubDate>Thu, 04 Aug 2011 17:54:00 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p508</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p507</link>
      <description><![CDATA[Ага, если я Вас правильно понял, тогда список id текущих тегов нужно достать из таблицы<br />
?_blog_tags ?]]></description>
      <pubDate>Thu, 04 Aug 2011 17:26:04 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p507</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p506</link>
      <description><![CDATA[Кстати, во избежание фрагментации можно не все старые связи удалять, а только не актуальные:<br />
MySQLDELETE FROM ?_blog_topic_tags WHERE item_id=? AND tag_id NOT IN &#40;список id текущих тегов&#41;]]></description>
      <pubDate>Thu, 04 Aug 2011 17:09:29 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p506</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p505</link>
      <description><![CDATA[Всё, сделал. Спасибо Вам за подсказку<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt="">]]></description>
      <pubDate>Thu, 04 Aug 2011 16:52:05 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p505</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p504</link>
      <description><![CDATA[Да, алгоритм получается примерно такой:<br />
1. добавили запись в таблицу элементов и получили item_id<br />
2. добавляем тег в таблицу тегов<br />
MySQLINSERT IGNORE INTO ?_blog_tags...<br />
Если тег добавился - в качестве результата получим tag_id, если получили false, значит тег уже есть и надо сделать запрос для получения его id.<br />
А лучше - наоборот, сначала запросить id всех добавляемых тегов одним запросом.<br />
3. добавляем пары значений в ?_blog_topic_tags (можно всей кучей).
<br />&#160;<br />
В случае если запись редактируется, добавится пункт:<br />
2а. Удаляем из таблицы ?_blog_topic_tags все записи с item_id=item_id_редактируемой_записи]]></description>
      <pubDate>Thu, 04 Aug 2011 15:50:58 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p504</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p503</link>
      <description><![CDATA[Нет, планируется, что будет общий набор меток, доступный для всех блогов.<br />
Да, Вы правы. Такая схема более удобная.<br />
<strong class="bb">Upd:</strong><br />
Добавил 2 таблицы:<br />
MySQL<br />
--<br />
-- Все теги <br />
--<br />
CREATE TABLE IF NOT EXISTS ?_blog_tags &#40;<br />
&#160; `tag_id` int&#40;11&#41; NOT NULL AUTO_INCREMENT,<br />
&#160; `tag_text` varchar&#40;50&#41; NOT NULL,<br />
&#160; PRIMARY KEY &#40;`tag_id`&#41;,<br />
&#160; UNIQUE KEY `tag_text` &#40;`tag_text`&#41;<br />
&#41; ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
<br />&#160;<br />
--<br />
-- Теги топика<br />
--<br />
CREATE TABLE IF NOT EXISTS ?_blog_topic_tags &#40;<br />
&#160; `topic_id` int&#40;11&#41; NOT NULL,<br />
&#160; `tag_id` int&#40;11&#41; NOT NULL,<br />
&#160; PRIMARY KEY &#40;`topic_id`,`tag_id`&#41;<br />
&#41; ENGINE=MyISAM DEFAULT CHARSET=utf8;<br />
&#160;<br />
Как при этом сделать правильно INSERT? Получается что нужно положить метку в <br />
?_blog_tags а потом передать этот id в ?_blog_topic_tags..]]></description>
      <pubDate>Thu, 04 Aug 2011 14:21:31 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p503</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p502</link>
      <description><![CDATA[А почему именно такая схема? У каждого пользователя/блога свой набор меток?<br />
Если нет, то я бы предложил такую схему:<br />
таблица меток<br />
tag_id, tag (уникальное)<br />
и таблица связей:<br />
topic_id, tag_id (первичный по двум полям)
<br />&#160;<br />
А id юзера и id блога у Вас и так есть в таблице записей.<br />
При этом получается удобный и быстрый поиск по тегам.]]></description>
      <pubDate>Thu, 04 Aug 2011 13:51:36 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p502</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p501</link>
      <description><![CDATA[Теперь пришло время поработать с добавлением меток.<br />
Пока работает так:<br />
При добавлении топика, есть поле для меток, метки нужно разделять запятыми.<br />
Модуль обрабатывает их, и ложит каждую метку отдельно в таблицу для них же.<br />
В таблице для меток такие поля: id метки, id топика, id юзера, id блога, сама метка.<br />
Так же, метки лежат и в таблице топика, в том виде, в каком добавлены. <br />
При просмотре или листинге топиков метки берутся из таблицы топиков. <br />
А смарти всё уже разбивает вот так:<br />
Smarty<br />
&#160;&#123;section name=topic loop=$topic_full&#125;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;h1&gt;&#123;$topic_full&#91;topic&#93;.topic_title&#125;&lt;/h1&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;div class=&quot;topic_content&quot;&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#123;$topic_full&#91;topic&#93;.topic_text&#125;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;/div&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#123;assign var=&quot;tag&quot; value=&quot;,&quot;|explode:$topic_full&#91;topic&#93;.topic_tags&#125;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;ul class=&quot;tags&quot;&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#123;section name=tags loop=$tag&#125;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#123;if $smarty.section.tags.last&#125;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;li&gt;&lt;a&gt;&#123;$tag&#91;tags&#93;&#125;&lt;/a&gt;.&lt;/li&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#123;else&#125;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;li&gt;&lt;a&gt;&#123;$tag&#91;tags&#93;&#125;&lt;/a&gt;,&lt;/li&gt;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#123;/if&#125;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &#123;/section&#125;<br />
&#160; &#160; &#160; &#160; &#160; &#160; &lt;/ul&gt; <br />
&#160;&#123;/section&#125;<br />
&#160;<br />
В итоге получается ряд из меток вида: "метка1,метка2,метка3."<br />
Какие есть трудности. <br />
Если оставить эту схему, то нужно наверное проверять в mysql (в табл. для меток), или уже есть такая метка в бд, что бы не добавлять дубликат...]]></description>
      <pubDate>Thu, 04 Aug 2011 13:14:15 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p501</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p497</link>
      <description><![CDATA[Ну тут Вы разработчик - Вам и карты в руки<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt=""><br />
Реально на отображение влияет только topic_id, все остальное - сеошно-навигационный балласт. Так что я бы сделал var1=$topic.topic_id, а все остальные - любые другие.<br />
Собственно, у меня так в новостях и сделано на сайте:<br />
<a rel="nofollow" href="http://labcms.ru/news-item.26/kak+hranit+paroli/">http://labcms.ru/news-item.26/kak+hranit+paroli/</a><br />
Еще момент - надо перевести название в транслит, а то url будет выглядеть очень некрасиво.
<br />&#160;<br />
На этом сайте используется такой модификатор:<br />
PHPfunction smarty_modifier_translit&#40;$string&#41;<br />
&#123;<br />
&#160; &#160; return translit&#40;$string&#41;;<br />
&#125;
<br />&#160;<br />
Smarty&#123;url action=&quot;item&quot; var1=$new.news_id var2=$new.news_title|translit&#125;]]></description>
      <pubDate>Wed, 03 Aug 2011 15:51:09 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p497</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p496</link>
      <description><![CDATA[Ну вот вроде бы листинг по минимуму для начала организован, пейджер подключен.<br />
Появился вопрос<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt=""><br />
Как лучше организовать ссылки в браузере?<br />
Вот что мне пришло в голову: <br />
На каждый топик есть ссылка "Читать далее". Вот как она пока выглядит:<br />
Smarty<br />
&lt;a href=&quot;{url action=&quot;detail&quot; var1=$topic.blog_title var2=$topic.topic_id}&quot;&gt;Читать дальше&lt;/a&gt;<br />
&#160;<br />
Получаем что-то типа<br />
mysite.net/blog-detail.Blog+by+admin/2/<br />
Возможно стоить ввести еще одно поле при добавлении категорий блогов, и назвать его blog_url ?<br />
Соответственно если оно есть, то вставлять его вместо blog_title...]]></description>
      <pubDate>Wed, 03 Aug 2011 14:46:01 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p496</guid>
    </item>
    <item>
      <title>mushtat</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p495</link>
      <description><![CDATA[Имелось в виду, что модуль не будет дописывать тег, если его нету. Но разработчику виднее, я затрудняюсь находить решения в данной области... Но, как бы там нибыло - всегда полезно узнать другое мнение. Стараюсь помочь в силу своих знаний и возможностей. ]]></description>
      <pubDate>Wed, 03 Aug 2011 13:48:08 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p495</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p494</link>
      <description><![CDATA[<blockquote class="bb bb_quote">mushtat:Ну это что бы статья отображалась полностью. Если правильно понял. Ну а если у владельца блога сделать пункт кол-ва символов. тоесть модуль ищет сначала тег море, если его нет - смотрит кол-во символов из настроек. Такое возможно? </blockquote><br />
Потерян один элемент в логической цепочке: если тег будет автоматически подставляться в конец статьи, то в каких же случаях будет срабатывать обрезка по количеству символов?<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt="">]]></description>
      <pubDate>Wed, 03 Aug 2011 13:24:14 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p494</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p493</link>
      <description><![CDATA[Я сейчас занимаюсь листингом топиков. Можно сделать что бы тег распознавался js как ссылка "Подробнее", хотя скорее всего это лишнее...
<br />&#160;<br />
<blockquote class="bb bb_quote">mushtat:Ну это что бы статья отображалась полностью. Если правильно понял. Ну а если у владельца блога сделать пункт кол-ва символов. тоесть модуль ищет сначала тег море, если его нет - смотрит кол-во символов из настроек. Такое возможно? </blockquote>
<br />&#160;<br />
Скорее всего, что возможно, но неясно или нужно...<br />
Пока пришли к выводу, что если тег есть, то это и будет анонс (все что перед тегом). <br />
В ином случае вся статья и будет отбражатся как анонс. <u class="bb"><strong class="bb">UPD: </strong></u> И автоматически тег подставлятся не будет. <br />
(Это что бы никто не запутался<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt="">)]]></description>
      <pubDate>Wed, 03 Aug 2011 13:05:09 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p493</guid>
    </item>
    <item>
      <title>mushtat</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p492</link>
      <description><![CDATA[Ну это что бы статья отображалась полностью. Если правильно понял. Ну а если у владельца блога сделать пункт кол-ва символов. тоесть модуль ищет сначала тег море, если его нет - смотрит кол-во символов из настроек. Такое возможно? ]]></description>
      <pubDate>Wed, 03 Aug 2011 13:00:18 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p492</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p491</link>
      <description><![CDATA[<blockquote class="bb bb_quote">Defari:Ок, так и сделаю. Если тега нет, тогда нужно добавить его в конце статьи.</blockquote><br />
Хм... а зачем он в конце статьи?]]></description>
      <pubDate>Wed, 03 Aug 2011 11:57:46 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p491</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p490</link>
      <description><![CDATA[Ок, так и сделаю. Если тега нет, тогда нужно добавить его в конце статьи.]]></description>
      <pubDate>Wed, 03 Aug 2011 11:55:19 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p490</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p489</link>
      <description><![CDATA[Ну так сильно или не сильно, на мой взгляд, решать автору блога, а не разработчику. В крайнем случае, вынести эту опцию в настройки.]]></description>
      <pubDate>Wed, 03 Aug 2011 11:39:23 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p489</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p488</link>
      <description><![CDATA[Хм, возможно, а если статья уж сильно длинная?
<br />&#160;<br />
Добавлять тег, скорее всего что да, при помощи Jevix. Как мне показалось, это достаточно гибкая в настройках библиотека.
<br />&#160;<br />
]]></description>
      <pubDate>Wed, 03 Aug 2011 11:10:13 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p488</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p487</link>
      <description><![CDATA[Мне кажется что вставлять этот тег автоматически не совсем правильно. Вполне допускаю существование блогов без ката вообще - под катом только комментарии остаются.<br />
Кстати, а добавлять &lt;more&gt; планируется при помощи Jevix? Он проследит при этом за корректностью тегов?]]></description>
      <pubDate>Wed, 03 Aug 2011 10:31:46 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p487</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p486</link>
      <description><![CDATA[Мне кажется, что наличие этого самого тега &lt;more&gt; и добавляет большей гибкости<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt=""><br />
Ну в принципе, сначала я подумывал о том, что бы статья лежала полная, в 1 ячейке. <br />
Но тут есть некие неудобности. Неудобности заключаются с обработкой статьи. <br />
Получается что-то вроде того: <br />
при листинге топиков, нужно каждый раз достать целую статью, для каждого топика, что бы для начала определить где находится тот самый тег, далее отработать с ним, и показать только анонс. Ну а статья, может быть и большая, плюс каждый раз это делать...<br />
Мне показалось проще и логичнее делать это один раз при самом добавлении статьи.<br />
А при самом листинге модуль берет намного меньше информации по объему из БД.
<br />&#160;<br />
На счет того, что если тега &lt;more&gt; нет, сегодня хочу доделать, что бы он вставлялся через стандартное к-во символов.<br />
То есть если человек постит информацию, пусть оформит статью, и поставит "кат" где ему нужно, если же нет, тогда пусть модуль сам обрежет<img width="16" height="16" src="https://labcms.ru/skins/labcms/images/smiles/smiley.png" alt=""> ]]></description>
      <pubDate>Wed, 03 Aug 2011 09:58:45 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p486</guid>
    </item>
    <item>
      <title>mushtat</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p485</link>
      <description><![CDATA[Честно говоря, я не знаю, сложно ли это со стороны разработчика, но тем не менее... Зачем лишнее поле с обрезанной статьей? Мне просто почему-то пришла аналогия с модулем новостей - можно указать в настройках сколько символов отображать, как превью. Почему тут не зделать что-то подобное? Вообще функционал с тегом "море" интересен... Не знаю, Вам наверное виднее, как в данном случае лучше поступить. Но поле в бд с обрезанной копией текста - как-то не круто чтоли. Модуль (точнее та штука в нём, которая будет парсить) не может определять где находится тег "море" и показать всё до него? А если тега нету брать кол-во символов из настроек. Мб сделать такие настройки для каждого юзера отдельно? В общем это небольшая информация к размышлению. Я не знаю, трудно ли это в коде, но если это блог - нужно дать возможность гибкости настройки модуля и размещения постов.]]></description>
      <pubDate>Wed, 03 Aug 2011 02:34:27 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p485</guid>
    </item>
    <item>
      <title>Defari</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p484</link>
      <description><![CDATA[<blockquote class="bb bb_quote">Loki:Если пост может быть только в одном блоге, то две таблицы не нужны, если же в нескольких сразу, то логичнее было бы во вторую таблицу вынести так же поля заголовка, user_id и т.п. (то есть все что относится к конкретной записи).<br />
</blockquote><br />
Скорее всего лучше пока отказатся от этой идеи.. 1 пост - в 1 блог, и пока 1 таблица. <br />
При большом кол-ве, наверняка можно легко устроить бардак. Я думаю, что лучше потом подключить это как опцию.
<br />&#160;<br />
<blockquote class="bb bb_quote">Loki:<br />
И еще, если я правильно понимаю, то в случае отсутствия тега &lt;more&gt; поля записи и анонса будут совпадать?<br />
</blockquote><br />
Да, пока так и есть. Нужно будет обновить метод, который парсит текст, и вставлять этот тег, если его нет, через какое-то к-во символов, или же сразу резать без этого тега... скорее всего как-то так. ]]></description>
      <pubDate>Tue, 02 Aug 2011 17:07:58 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p484</guid>
    </item>
    <item>
      <title>Loki</title>
      <link>https://labcms.ru/discussion-theme.64/2/#p482</link>
      <description><![CDATA[Если пост может быть только в одном блоге, то две таблицы не нужны, если же в нескольких сразу, то логичнее было бы во вторую таблицу вынести так же поля заголовка, user_id и т.п. (то есть все что относится к конкретной записи).
<br />&#160;<br />
И еще, если я правильно понимаю, то в случае отсутствия тега &lt;more&gt; поля записи и анонса будут совпадать?]]></description>
      <pubDate>Tue, 02 Aug 2011 16:38:42 +0400</pubDate>
      <guid>https://labcms.ru/discussion-theme.64/2/#p482</guid>
    </item>
  </channel>
</rss>
