Маленькое ЧП произошло.

Пытаюсь поставить кнопку «вступить в блог» в блоке «блоги». Ну всмысле что бы вместо рейтинга блога была кнопка. При этом возникает следующая ошибка:
Notice: Undefined index: oUserCurrent in X:\home\localhost\www\alfa\templates\compiled\synio\553bd687aade2be20a6dd8d4f94f185d68447f03.file.block.blogs_top.tpl.php on line 41


Денвер показывает причину: Это предупреждение, вероятнее всего, возникает вследствие высокого уровня контроля ошибок в PHP, по умолчанию установленного в Денвере (E_ALL). Такой режим вывода ошибок является рекомендуемым и сильно помогает при отладке скриптов. Однако множество готовых скриптов требуют более низкого уровня ошибок.

Вы можете установить более слабый контроль ошибок одним из следующих способов:
Впишите в скрипты строчку:
Error_Reporting(E_ALL & ~E_NOTICE);
Этот способ особенно удобен, если в скрипте есть один файл (конфигурационный), который подключается всеми остальными.
Рекомендуемый способ. Создайте в директории со скриптом файл .htaccess следующего содержания:
php_value error_reporting 7
Исправьте в /usr/local/php/php.ini значение error_reporting на E_ALL & ~E_NOTICE. Этот способ не является рекомендуемым и может привести к серьезным неудобствам при отладке!


Кнопку я сделал таким способом:
{foreach from=$aBlogs item=oBlog}

 {if $oUserCurrent}

  <td class="cell-join">

  {if $oUserCurrent->getId() != $oBlog->getOwnerId() and $oBlog->getType() == 'open'}

    <button type="submit"  onclick="ls.blog.toggleJoin(this, {$oBlog->getId()}); return false;" class="button button-action button-action-join {if $oBlog->getUserIsJoin()}active{/if}">

      <i class="icon-synio-join"></i>

	 <span>{if $oBlog->getUserIsJoin()}{$aLang.blog_leave}{else}{$aLang.blog_join}{/if}</span>
			</button>
			   {else}
			     —
				{/if}
				   </td>
				     {/if}
{/foreach}


Вот это всё что могу сообщить, буду благодарен тому кто откликнется и поможет исправит ошибку.

как это сделать?

Скажите, такая проблема.Как сделать чтобы новые пользователи могли писать свои записи не мой персональный блог, а в блоги который создал админ?

Создание Блогов после модерации

Есть ли плагин или как сделать чтоб при создании блогов они не появлялись сразу, а только после того как Админы или Модеры проверят их. Так же еще один последующий вопрос, можно ли вести таблицу слов которые не будут активны в блогах, топиках, и прочем. То есть оградит от матов и порнухи себя?

Интересные топики в блогах

Заметил, что на страницах блогов нет разницы между вкладками «интересные» и «новые».

В интересных показываются все новые топики не зависимо от рейтинга (возможно только с рейтингом от 0). Где можно настроить рейтинг, выше которого топики будут попадать во вкладку «интересные» в блогах? В конфиге не нашел настройки для этой вкладки.

Нужна консультация - какой порядок действий и сколько будет стоит разработка сайта

Доброго времени суток. Мне нужна консультация и совет по порядку моих действий, а также примерная стоимость разработки (собираюсь заказать).

Восстанавливаю один проект, делали мы его раньше на юкозе (дизайн и шаблон делали сами), потом пришлось его закрыть, а теперь установил движок LS, начал изучать CMS, и встал…
Я даже не понял с чего начинать — внедрять сначала модули и плагины, а потом под них делать сайт и главную страницу? Или наоборот купить какой нибудь шаблон, докупить к нему разные модули, а потом уже все как конструктор собрать и настроить, и далее, отдельно, заказать разработку главной уникальной станицы?

В общем CMS пока очень не изучена, боюсь разных конфликтов от модулей, а хочется сделать хороший и красивый сайт. Ну и тупо не хочется делать лишнее действия и траты…

В общем вот примерный дизайн (это вид «страница»). Нужна будет фиксированная ширина сайта, наполнение плагинами и модулями, и разработка главной страницы.

SwindlerNet.ru


Читать дальше →

Помогите решить задачу

Хочу внести несколько изменений, без Вашей помощи никак не получится!!!

Персональные и коллективные убрать полностью! вроде есть плагины на это да?


Топики будут добавляться в категории на выбор автора! соответственно кнопка создать блог больше не нужна


категории уже будут внесены в список, автору надо только выбрать нужную из списка

Модификация списка блогов

В Livestreet CMS в списке блогов и в топе блогов выводятся все, кроме персональны блогов. Как-то раз мне потребовалось вывести в этот список еще и личные блоги пользователей.

Этот способ решения проблемы с выводом списка блогов придуман лично мной, и я не гарантирую, что он рационален, прост или полностью правилен

Порыскав по системным файлам, отслеживая выполнение кода, я нашел функцию, которая составляет этот список, а в ней и запрос к базе данных

Это функция GetBlogsRating в файле classes/modules/blog/mapper/Blog.mapper.class.php приблизительно на 280 строке

Посмотрев на нее, видно, что в запросе к базе данных фильтруются персональные блоги:
WHERE b.blog_type <> 'personal'


По умолчанию у личных блогов нет своего собственного url-адреса, они доступны по адресу site.ru/my/имя_пользователя. Поэтому, если мы просто уберем эту проверку, блоги выведутся, но ссылка будет вести в никуда

Поэтому я решил сделать следующим образом: выводить в список те блоги, у которых есть url-адрес

Я заменил вот эту проверку:
WHERE b.blog_type <> 'personal'
на вот такую:
WHERE 		b.blog_url IS NOT NULL


Сейчас ничего не изменится, так как у персональных блогов в базе данных url-адрес указан как NULL

Дальше есть несколько вариантов действий:
  • Вручную подправить url-адрес в базе данных у нужных блогов, таким образом, в список будут выводится только те блоги, которые вы выберете сами
  • Создать url-адрес для всех персональных блогов (уникальный для каждого) и назначать url-адрес каждому новому созданному персональному блогу

Я пошел по второму варианту, сайт был на стадии разработки, поэтому у существующих персональных блогов я поправил url-адреса вручную, а для присвоения какого-либо url-адреса новым персональным блогам я изменил скрипт создания персональных блогов

Для этого, в том же Blog.mapper.class.php нашел функцию CreatePersonalBlog приблизительно на 260 строке

Я уже не помню, устанавливается ли там url-адрес для персонального блога или нет. В общем ищем там (в функции) строку:
$oBlog->setUrl(что-то там);
(если ее нет, то добавьте ее, к примеру после $oBlog->setType('personal');)

Вместо этого «что-то там» и надо подставить url-адрес блога. Важно, чтобы он был уникален

Туда можно подставить логин пользователя:
$oUser->getLogin()

Но лучше что-нибудь еще добавить к этому, к примеру:
"blog_".$oUser->getLogin()
Url-адрес будет таким: blogs/blog_имя_пользователя

Теперь эти блоги появятся в списке (не забудьте почистить кеш!) и ссылки на них будут работать правильно

У этого способа правда есть недостатки: происходит дублирование контента, адреса my/имя_пользователя и blog/blog_имя_пользователя содержат один и тот же текст, что может не понравится поисковикам

Плюс к этому, по адресу my/имя_пользователя будет отображаться немного другое меню, эту проблему я пока не стал решать, но ее я думаю можно решить на уровне шаблона: в шаблоне блога проверять, не является ли он персональным и подключать соответствующее меню в этом случае

Для сайтов, которые уже давно работают и где уже много персональных блогов будет трудно (а возможно и очень трудно) поменять в базе данных вручную все url-адреса персональных блогов. Поэтому можно придумать какой-нибудь sql-запрос к базе данных, вроде этого:
UPDATE table имя_таблицы_блогов AS b SET b.blog_url=(SELECT u.user_login FROM имя_таблицы_пользователей AS u WHERE u.user_id=b.blog_owner_id) WHERE b.blog_urs IS NULL


Предупреждаю, что этот запрос может быть неправильным, я его не тестировал и придумал прямо сейчас на ходу. Суть его в следующем: для блогов, у которых нет url-адреса, установить его равным логину автора блога.

В общем, эту проблему со списком блогов я решил именно так, может быть, вам пригодится