Модуль "Менеджер Блоков"

При работе с сайтом на базе ЛС инода возникает необходимость свои блоки делать и включать их в страницы. В принципе, особых проблем в этом нет. Но если нужно, чтоб блок показывался на всех страницах, то нужно пробежаться по нескольким экшенам и там добавить блок. Если возникает желание сделать так, чтоб где-то блок показывался, а где-то нет, то нужно сообразить, в каких классах его вставить, а в каких — нет.

Собственно, проблема не шибко серьезная, но, тем не менее, возникло желание сделать так, чтоб манипулировать блоками можно было из одного места. Так и родился модуль «Менеджер Блоков».

Модуль делает довольно банальные вещи:

1) Берет из своего конфиг-файла инфу, какие блоки надо выводить. Причем, можно определить, выводить блоки ТОЛЬКО те, которые в конфиге, либо их добавить к тем, что заданы в экшенах

2) Позволяет определять, на каких страницах выводить и/или на каких страницах не надо выводить те или иные блоки (т.е. можно задать, что какой-то блок будет выводиться только на главной странице, либо наоборот — на всех, кроме главной)

3) Подгружает, при необходимости, конфигурационные файлы блоков, лежащие в папке config/blocks/имя_блока, что позволяет создавать блоки, которые можно конфигурировать. Причем конфиг-файлы подгружаются ТОЛЬКО для тех блоков, которые должны выводиться на странице.

И в качестве бонуса для демонстрации всего этого безобразия в комплекте с модулем идет блок «Кто в онлайне», который можно сконфигурировать по свему вкусу (внимательно читаем /config/blocks/online/config.php)

После премодерации модуль будет доступен здесь: livestreet.ru/addons/76/

И, традиционно, реквизиты для финансовой благодарности автору: кошельки WebMoney Z178319650868 или R312496642374, счет Яндекс.Деньги 41001176375531


UPD Версия 1.0.4 — Добавлена возможность выборочного сброса блоков, задаваемых в actions

UPD 2 Версия 1.0.5 — Теперь можно указывать не только actions, но и event

141 комментарий

avatar
Респект!
avatar
нужно вручную прописывать, какие блоки и где они будут, в конфиг файл модуля? В ридми ничего не написано.
P.S. Добавьте в ридми мини руководство пользователя
avatar
В ридми сказано:
1) Добавляет блоки, используя параметры, заданные в конфигурационном файле модуля

Здесь в топике сказано:
1) Берет из своего конфиг-файла инфу, какие блоки надо выводить.

Есть предположения, что эта информация помещается в конфиг силой мысли?
avatar
уважение! премного благодарен!)
  • F-5
  • 0
avatar
atal error: Uncaught exception 'Exception' with message 'No encontrada la clase del modulo - AdminBlocks' in /home/creative/public_html/ENBUE/classes/engine/Engine.class.php:95 
Stack trace: #0 /home/creative/public_html/ENBUE/classes/engine/Engine.class.php(183): 
Engine->LoadModule('AdminBlocks', true) #1 /home/creative/public_html/ENBUE/classes/engine/Module.class.php(37):
Engine->_CallModule('AdminBlocks_Ini...', Array) #2 [internal function]: 
Module->__call('AdminBlocks_Ini...', Array) #3 [internal function]: LsHook->AdminBlocks_InitBlocks(Array) 
#4 /home/creative/public_html/ENBUE/classes/modules/sys_hook/Hook.class.php(77): call_user_func_array(Array, Array) 
#5 /home/creative/public_html/ENBUE/classes/engine/Engine.class.php(187) : eval()'d code(1): LsHook->Run('init_action') 
#6 /home/creative/public_html/ENBUE/classes/engine/Engine.class.php(187): eval() 
#7 /home/creative/public_html/ENBUE/classes/actions/Init.class.php(51): Engine->_CallModule('Hook_Run', Array) 
#8 [internal function]: Init->__call('Hook_Run', Arr in /home/creative/public_html/ENBUE/classes/engine/Engine.class.php on line 95


u menia vot tak?
avatar
No comprendo en español
avatar
'Не найден класс модуля — AdminBlocks'
avatar
Pero es necesario comprobar, si todos los ficheros en sitio
avatar
nu i kak eto? Ficheros? :) ne ponial
avatar
А чо мне переводчик сказал, то я и воткнул. Ты же особо не утруждаешь себя, чтобы я понял, что за проблема.

Проверь, все ли файлы на месте. Если не найден класс AdminBlocks, то в первую очередь надо убедиться, на месте ли файл /classes/modules/adminblocks/Adminblocks.class.php
avatar
на месте
avatar
AdminBlocks o Adminblocks?
avatar
джаст э момент…
avatar
yep!!!
Проблема решена
должен быть переименован файл
Adminblocks.class.php ---> AdminBlocks.class.php

:)))

avatar
ia tak y dumap :) s RSSIMPORT takshe bil sluchi
avatar
да, это оно
мой косяк — на виндовом серваке проверял, а ему пофиг, схавал без проблем
щас выложу исправленный вариант
avatar
vopros, ok, bce teper na server, a kak to rapodtas con el menegerom ¡??
avatar
Все файлы находятся на месте :(
avatar
:))))
avatar
также

Fatal error: Uncaught exception 'Exception' with message 'Не найден класс модуля - AdminBlocks' in /data/apache/users/kilu.de/blogtop/www/classes/engine/Engine.class.php:95 Stack trace: #0 /data/apache/users/kilu.de/blogtop/www/classes/engine/Engine.class.php(183): Engine->LoadModule('AdminBlocks', true) #1 /data/apache/users/kilu.de/blogtop/www/classes/engine/Module.class.php(37): Engine->_CallModule('AdminBlocks_Ini...', Array) #2 [internal function]: Module->__call('AdminBlocks_Ini...', Array) #3 [internal function]: LsHook->AdminBlocks_InitBlocks(Array) #4 /data/apache/users/kilu.de/blogtop/www/classes/modules/sys_hook/Hook.class.php(77): call_user_func_array(Array, Array) #5 /data/apache/users/kilu.de/blogtop/www/classes/engine/Engine.class.php(187) : eval()'d code(1): LsHook->Run('init_action') #6 /data/apache/users/kilu.de/blogtop/www/classes/engine/Engine.class.php(187): eval() #7 /data/apache/users/kilu.de/blogtop/www/classes/actions/Init.class.php(51): Engine->_CallModule('Hook_Run', Array) #8 in /data/apache/users/kilu.de/blogtop/www/classes/engine/Engine.class.php on line 95
avatar
Спасибо. Намного удобнее стало.
avatar
avadim вообще не расслабляется :)
avatar
совокупил это дело с админпанелью =) удобно. спасибо
avatar
а как? поделитесь пожалуйста
avatar
Научите, пожалуйста, пошагово, как добавить блок для вывода рекламы (sape, например). Вероятно, многим будет полезно. Спасибо!
avatar
Добавление блоков делается руками в файле /config/modules/adminblocks/config.php.

Пример 1: добавляем блок online, который будет выводиться на всех страницах
$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'online', // название блока
  'position'=>'right', // позиционирование блока
);

Пример 2: добавляем блок tags, который будет выводиться везде, кроме главной страницы
$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'tags', // название блока
  'position'=>'right', // позиционирование блока
  'exclude'=>'index', // на каких страницах не показывать
);

Пример 3: добавляем блок stream, который будет выводиться только но главной странице и на странице «блоги»
$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'stream', // название блока
  'position'=>'right', // позиционирование блока
  'include'=>'index,blogs', // на каких страницах не показывать
);

Так понятно?
avatar
Спасибо! Не совсем, но уже что-то. Скажите, пожалуйста, а сам код вызова (всё та же sape) куда вставлять? Именно, всю эту «ерунду»:
{php}
     if (!defined('_SAPE_USER')){
        define('_SAPE_USER', 'ваш_код'); 
     }
     require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'); 
     $sape = new SAPE_client();
     echo $sape->return_links();
{/php}
avatar
Уважаемый, это менеджер блоков, а не создатель блоков. Т.е. он работает с блоками, уже созданными (своими или чужими) руками.

Сами блоки живут здесь: /classes/blocks/Block_Имя_блока_.php
Шаблоны для них — зедсь: /templates/skin/_скин_/block._имя_блока_.tpl

Берем любой готовый блок, препарируем, смотрим, думаем.
avatar
Поражаюсь вашему терпению)
avatar
Причем здесь этот модуль и сапа?
Включайте хоть иногда мозг — это весело.
Жмите сюда (только не пальцем или носом, а левой кнопкой мыши — это та, что с колесиком и проводом). И прошу без обид. Раз вы не можете додуматься до такой элементарной вещи, как поиск, то лучше удалите движок и учитесь вышивать крестиком.
avatar
Дорогой друг. С мозгом всё в порядке. Я нормальным языком попросил пошагово помочь. И, не потому, что лень думать или что-то в этом роде, а из-за того, что некоторые вещи для некоторых людей — «темный лес». Если бы я, например, досконально разбирался в программировании, то не стал бы использовать готовое решение («LiveStreet», в частности), а написал бы себе то, что и нужно. Если нечем конкретно помочь, то проходим мимо и, свои предрассудки оставляем для себя.
avatar
И, не потому, что лень думать или что-то в этом роде
Именно потому.
avatar
Я уважаю ваш труд а, ваши разработки действительно помогают неподготовленным пользователям. Но, не владея необходимым количеством информации, вы делаете совершенно необоснованные выводы. Я не хочу тут объяснять что и как (не все же имеют возможность заниматься тем, чем они должны или хотят заниматься), ведь, если бы у кого-то было желание помочь — непременно бы помог, а не стал тут заниматься «нравоучениями». Спасибо за внимание.
avatar
Долой предрассудки. Если неумение программировать не позволяет вам пользоваться поиском, то в этом случае уже никто и ничто вам не поможет.

Если нечем конкретно помочь
А это что по-вашему? Уже не раз все разжевано. Или за вас еще и проглотить надо?

Уверены, что с мозгом все в порядке? Все-таки пяльцем, иглами и нитями стоит запастись, да и обзор тканей прочтите — http://www.fairyneedle.ru/page.php?id=4. Я уверен, вы подберете себе подходящую. Удачи!
ЗЫ: не советую начинать со льна.
avatar
Вместо этого сообщения, если вы разбираетесь, конечно, могли бы привести пример создания того, о чем бы я просил.
Выгода, если вам не понятно, была бы многогранна:
Я, да и не только я, смог бы сэкономить несколько дней на разбор и, соответственно, на несколько дней больше могли бы поступать средства (пусть 2–3 доллара, но всё же) с sape, которые бы, с удовольствием, я бы перевел создателю модуля (ведь, не зря он публикует кошельки свои). Вы бы получили массу благодарностей от тех, кому бы это пригодилось.
А ваши псевдоироничные выпады в мою сторону лишь забавляют меня.
avatar
которые бы, с удовольствием, я бы перевел создателю модуля
Не верю! (угадайте, почему?)
avatar
И что я должен на это ответить?
avatar
Да лучше ничего не отвечать, чем говорить такие глупости
avatar
Всё верно, теперь я поищу кого-нибудь на сайте, кто за 4 минуты и 10 wmz сделает этот злосчастный блок, вы так и будете думать, что все вокруг жмоты (хотя, это далеко не так), Romelyus будет тут ссылки на рукодельческие ресурсы подсовывать всем, у кого есть какие-то вопросы, а в итоге, я получу свое, а тот, кто реализует просто посмеется со всех, т. к., нежели тут было разводить срач и пытаться доказать не пойми что, просто помочь. Всё просто.
avatar
Думаю будет полезным перечислить возможные страницы для размещения блоков:
index — Главная страница
blog — Страница какого-либо блока, открывается например по ссилке в блоке «Блоги»
tag — страница тегов-тега
log — персональные блоги
top — лучшие, TOP
people — страница «Люди»

Примерно так, дополните, наверное что то пропустил.
  • Sky
  • +1
avatar
И ещё думаю для того что бы полноценно управлять с помощью "Менеджера блоков", необходимо удалить все блоки в экшенах и только потом инициализировать их в конфиге менеджера. Иначе нельзя управлять расположением блока по вертикали, те что в экшенах будут априори выше. Сам модуль хороший, жаль без создания и удаления блоков)
  • Sky
  • +1
avatar
необходимо удалить все блоки в экшенах

Сбросить установку блоков в экшенах можно этим параметром из конфига:
$CFG['admin_blocks']['clear_blocks'] = true; // Сбросить все блоки

Но если непосредственно в экшенах это сделать, то движок не будет лишней работы выполнять — установка блока в вэкшене, потом сброс в менеджере…
avatar
Будьте любезны, уточните, где именно надо «удалить все блоки в экшенах»?
Если я правильно понял, то в файле
/classes/actions/ActionBlog.class.php
надо удалить строку
$this->Viewer_AddBlocks('right',array('stream','tags','blogs'));

Но вроде как этого недостаточно… Подскажите, что я упустил?
avatar
Если походить строго, то это строку $this->Viewer_AddBlocks(...); надо удалить из всех модулей. Но это палка о двух концах: ты облегчаешь работу движку, убирая лишние операции, но, с другой стороны, ты влезаешь в код типовых модулей. Делать это можно только если хорошо понимаешь, что и зачем это делаешь. Плюс — вероятный геморрой при апгрейде движка до новой версии (ведь выйдет же она когда-нибудь). Поэтому — семь раз отмерь, прежде, чемреазть.
avatar
ок, понял, не буду удалять… Но тогда другая проблемка вылезает, если «сбрасывать блоки» в конфиге, то не выводится блок со статистикой на странице Люди. Вероятно она (статистика) тоже имеет свой блок и его надо прописать в конфиге. Но не могу его найти! Как его имя?
avatar
в /classes/actions/ActionPeople.class.php ищем уже знакомую строку $this->Viewer_AddBlocks(...); и смотрим, какие блоки там подключаются
avatar
это я нашел. Но! Там подключается как-бы не блок, а шаблон…
$this->Viewer_AddBlocks('right',array('actions/ActionPeople/sidebar.tpl'));
В свою очередь в шаблоне подключается скрипт графика, плюс блоки городов и стран…
Как же быть в данном случае?
avatar
все оказалось просто: вместо имени блока прямо так и вставляем
'actions/ActionPeople/sidebar.tpl'
avatar
все верно, потому что в Менеджере блоков используется тот же самый вызов Viewer_AddBlocks :)
avatar
Спасибо за модуль и разъяснения!!!
avatar
жаль без создания и удаления блоков
Это щутка такой — про создание блоков? А вот добавление/удаление в интерактиве — это в планах есть. Но задумался я, стоит ли это бесплатно делать?
avatar
Извините за глупый (возможно) вопрос: а случайно нельзя ли таким же образом выводить блок в самом верху сайта (с рекламой как на хабре)?
Другими словами, существует ли позиционирование 'top'?
  • AVR
  • +1
avatar
Попробовал экспериментальным путем — не получилось :-(
avatar
вот и ответил сам себе
avatar
можно. если руки есть) я себе вывод кто онлайн настроил в верхней части
avatar
Ну, это ж надо шаблоны править! :)
avatar
в каком то виде менеджер блоков появится в новой версии LS
  • ort
  • +4
avatar
И это радует!
avatar
Еще проблемка вылезла: исчезли блоки в админке (admin/users/). Перед тем как писать попробовал кучу вариантов… Либо получается выводить блоки ПО ВСЕЙ АДМИНКЕ, либо нигде. А надо только например в admin/users/ или admin/users/banlist/

А нельзя ли «сбрасывать блоки» везде, кроме админки?
  • AVR
  • 0
avatar
Да, есть такая проблема. Я подумаю, как ее решить
avatar
плюс еще проблемка: при «сбрасывании блоков» также отрубаются блоки в профайле юзера…
avatar
как например выводить блок tags под блок «Кто в онлайне»
avatar
Легко и просто, поменять местами (поставить в нужном порядке), а именно:
$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'tags', // название блока
  'position'=>'right', // позиционирование блока
);

$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'online', // название блока
  'position'=>'right', // позиционирование блока
);
avatar
прошу прощения, сначала должен идти online затем тэги
avatar
спасибо vse OK
avatar
В версии 1.0.4 добавлена возможность выборочного сброса блоков, задаваемых в actions.

Пример 1: мы хотим сбросить все блоки только на главной странице (потому что зададим сами, какие блоки там будут выводиться), а на всех остальных страницах блоки не трогаем, а только будем добавлять к ним свои. Тогда задаем:
$CFG['admin_blocks']['clear_blocks'] = array('include'=>'index'); 

Пример 2: хотим сбросить блоки, которые задаются во всех экшенах, а вот на страницах admin, people и profile трогать их не будем, ибо там особые блоки задаются.
$CFG['admin_blocks']['clear_blocks'] = array('exclude'=>'admin, people, profile'); 

При этом можно и как раньше задавать параметры true или false.
avatar
Отлично! Вот этого как раз нехватало! Спасибо!!!
avatar
Просто великолепно!!! Спасибо!
avatar
Есть вопрос — подскажите, как привести дату и время в блоке online к вот такому виду floomby.ru/content/Z3N2F0gLUU/. Заранее благодарю.
avatar
либо форматировать дату в самом блоке средствами php, либо в шаблоне средствами Smarty: smarty.php5.com.ua/language.modifier.date.format/
avatar
Спасибо!
avatar
Не подскажите где конкретно поменять нужно формат даты в блоке online?
чтобы вышло 8 сентября 2009, 20:06.
avatar
В админку он не добавляется? Просто ручками удобней стало править?
avatar
Интеграции с админкой пока нет, работаем ручками, но зато в одном месте, а не бегаем по всем экшенам.
avatar
А планируется такая интеграция?
avatar
Планируется. Только не спрашивайте по срокам, все равно не скажу
avatar
А как убрать блок Online?)

Задокументировал
$CFG['admin_blocks']['blocks'][]=array(
'block'=>'online', // название блока
'position'=>'right', // позиционирование блока
);

не помогло
avatar
почистите кеш =) блок то пропадет.
только вот… avadim стоит проверочку дописать… на случай если я неодного блока твоим модулем не вывожу =)
ато —

Notice: Undefined index: blocks in /var/www/моя папка/web/classes/modules/adminblocks/AdminBlocks.class.php on line 35

Warning: Invalid argument supplied for foreach() in /var/www/моя папка/web/classes/modules/adminblocks/AdminBlocks.class.php on line 35

некритично канешно но маты ненужны всёравно.
avatar
В общем-то, стоит, пожалуй. Хотя непонятно, нафига вообще модуль этот, если не выводится ничего. :) Но маты уберем.
avatar
ну вобще правило хорошего тона закрывать от дурака все =) (я тестером на паралакс артс студио в своё время работал и в девтрак такую задачу поставил бы)
avatar
Согласен, желательно закрывать. Что и было сделано
avatar
А можно ли как-то выводить блоки на пример на страницу people/online или link/add?
Т.е. именно на них а не на people и link.
  • _et
  • 0
avatar
Такой возможности нет. Пока. Но мысль интересная
avatar
Такая возможность уже есть! :)
Пример:
$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'online', // название блока
  'position'=>'right', // позиционирование блока
  'include'=>'people', // на каких страницах показывать
  'exclude'=>'people/online', // на каких страницах не показывать
);
В этом примере блок online будет показываться на всех страницах people, кроме people/online
avatar
А мне нужно наоборот. Чтобы на people/online блок был, а не people-нет.

Так не работает
$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'online', // название блока
  'position'=>'right', // позиционирование блока
  'include'=>'people/online', // на каких страницах показывать
  //'exclude'=>'blog', // на каких страницах не показывать
);
avatar
только что проверил — у меня работает
возможно, нужно очистить кеш и/или скомпилированные шаблоны
avatar
Странно. У меня не работает.
Кисти и кэш и compiled. Нету блока и все.
Пробовал на разных страницах.
И на topic/add и на people/online.
avatar
Все. Заработало. Файлы не все заменились.

Спасибо большое.
avatar
А как бы event для модуля Компании прописать, допустим так:
ls03.vaktive.ru/company/ — блоков нет

ls03.vaktive.ru/company/itcat/ — блоки есть
ls03.vaktive.ru/company/itcat/blog/ — блоки есть
ls03.vaktive.ru/company/itcat/vacancies/ — блоки есть
avatar
$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'online', // название блока
  'position'=>'right', // позиционирование блока
  'include'=>'company/itcat', // на каких страницах показывать
);
avatar
:) в том то и дело, что "itcat" — это название компании, а компаний то много, для каждой просто нереально прописать. тут нужно как то за vacancies и blog цепляться, но совсем непонятно как это осуществить.
avatar
Ах, вон оно что! А вот такой вариант просто не предусмотрен. Нужно задавать явный путь, какие-то шаблоны или регулярные выражения не предусмотрены
avatar
А можете привести пример, а то не очень понимаю ваши слова «Если возникает желание сделать так, чтоб где-то блок показывался, а где-то нет, то нужно сообразить, в каких классах его вставить, а в каких — нет.»
avatar
А я что-то не понимаю, чего не понятно в этих словах. Ну вот примеры:

Класс ActionBlog
$this->Viewer_AddBlocks('right',array('stream','tags','blogs'));

Класс ActionPeople
$this->Viewer_AddBlocks('right',array('actions/ActionPeople/sidebar.tpl'));

Так понятно?
avatar
Да с этим то как раз понятно. Я думал, что вы имели ввиду что как то в экшенах в самих методах указывать какие блоги загружать.

Допустим в экшене ActionBlog.class.php есть метод EventEditBlog и вот как то в нём переопределить Init.

Ну понятное, мне скорее всего стоит копать в сторону вашего модуля и регулярных выражений.
avatar
Нашёл решения для скрытия сайдбара на уровне шаблона:
{assign var=«bNoSidebar» value=true}
avatar
При выводе пользователей в блоке «Кто онлайн?» по типу list при переходе на следующую строку отрывает аватар от ника.

  • wepp
  • 0
avatar
Я посмотрю, что можно сделать. Но если некогда ждать и есть понимание, как работают шаблоны, то можно самостоятельно поковыряться в шаблоне block.online.tpl
avatar
В файле \templates\skin\new\block.online.tpl найти:

            {foreach from=$aUsersOnline item=aUser}
            {if $BLOCK_ONLINE_SHOW_AVATAR}
            <a href="{$DIR_WEB_ROOT}/profile/{$aUser.login}">
              <img src="{$aUser.avatar}" alt="{$aUser.name}" />
            </a>
            {/if}
            {if $BLOCK_ONLINE_SHOW_LOGIN}
            <a href="{$DIR_WEB_ROOT}/profile/{$aUser.login}">{$aUser.login}</a>
            {/if}
            {/foreach}
и заменить на:

            {foreach from=$aUsersOnline item=aUser}
            <nobr>
            {if $BLOCK_ONLINE_SHOW_AVATAR}
            <a href="{$DIR_WEB_ROOT}/profile/{$aUser.login}" style="text-decoration:none;">
              <img src="{$aUser.avatar}" alt="{$aUser.name}" />
            </a>
            {/if}
            {if $BLOCK_ONLINE_SHOW_LOGIN}
            <a href="{$DIR_WEB_ROOT}/profile/{$aUser.login}">{$aUser.login}</a>
            {/if}
            </nobr>
            {/foreach}
avatar
Здорово! Спасибо!=)
avatar
Други, а подскажите плиз, как можно сделать, на основе данного модуля, блок рекламы и вставлять его, скажем, как на Livestreet.ru с права?
И, второе, можно ли получить список блоков, а точнее их имен, которые можно вставлять в модуль?
Спасибо…
  • inecs
  • 0
avatar
А как можно ограничить количество пользователей в блоке «Кто в онлайне»?
Ну к примеру чтобы в блоке показывало всего 10 пользователей…
avatar
config\blocks\online\config.php
/***
 * Максимальное количество пользователей, выводимое в блоке
 */
define('BLOCK_ONLINE_MAX_USERS', 25);
avatar
спасибо огромное!!!
avatar
народ а как можно задать вывод блока только на страницах самих топиков??
avatar
config/modules/adminblocks/config.php

$CFG['admin_blocks']['blocks'][]=array(
  'block'=>'online', // название блока
  'position'=>'right', // позиционирование блока
//  'include'=>'blog', // на каких страницах показывать       <-- Читаем
//  'exclude'=>'blog', // на каких страницах не показывать    <-- Читаем
);
avatar
читаем, читаем да вот только результата нет.
avatar
нет, там на уровне блогов задаются правила
avatar
ну тогда ковырять тут — classes/actions/ActionBlog.class.php

$this->Viewer_AddBlocks('right',array('baner','stream','tags','blogs'));
avatar
Угу, в методе EventShowTopic
avatar
Может быть хитрый вопрос, с подковыркой. так сказать, но:

можно ли как-то добиться такого, чтобы блок, выводящийся в sidebar справа ниже всех остальных блоков, уезжал в самый самый низ, т.е. если длинная лента публикаций, чтобы были «полезные» блоки сверху, а ссылки сапы были бы в блоке, который прямо над футером справа бы болтался. (В футер сапу воткнуть не удаётся, т.к. тогда слетает почему-то раздел WIKI, и отображается вместо него только текст из футера — глюк)…
avatar
Это уже к вопросу о верстке — надо со скином колдовать.
avatar
а модуль позволяет добавлять блоки? например блок с рекламой, как справа вверху
avatar
Какие блоки существуют, такие он и позволяет добавлять.
avatar
Думаю будет полезным перечислить возможные страницы для размещения блоков:
index — Главная страница
blog — Страница какого-либо блока, открывается например по ссилке в блоке «Блоги»
tag — страница тегов-тега
log — персональные блоги
top — лучшие, TOP
people — страница «Люди»


А можно ли как-нибудь заставить манипулировать блоками на страницах вида .../blog/317.html — очень хочется мне для каждой странички иметь возможность свой блок добавлять, но в нынешней сборке модуля так делать нельзя. Может есть какое ноу-хау по быстрой доработке менеджера?
avatar
Согласен, было бы не плохо, сам об этом думал.
avatar
В принципе, это можно сделать. И я бы, может, и сделал, но уже объявлено, что в новой версии будет свой менджер блоков, и там, по-моему, такое будет предусмотрено. Поэтому как-то не очень хочется время напрасно тратить.
avatar
Эххх… А жаль. Новая версия ведь
а) не всеми будет устанавливаться
б) Бог весть, когда она реально кажет свой лик народу((
Так что, ежели будет, так сказать, энтузиазм и банка пива+время, за нами не заржавеет (копеечкой и спасибой)… :-)
avatar
Спасибо работает отлично :)
avatar
Ребят! Срочно нужна ваша помощь. Я уже настолько запутался в этих блоках, что меня уже начинает подташнивать от происходящего. У меня вылезло куча ошибок… я сам виноват в происхоядещм, но большая просьба помочь, если, кто знает:

Fatal error: Uncaught exception 'Exception' with message 'Не найден шаблон подключаемого блока: online' in /home/№№№/public_html/classes/modules/sys_viewer/Viewer.class.php:284 Stack trace: #0 /home/№№№/public_html/classes/modules/sys_viewer/Viewer.class.php(218): LsViewer->DefineTypeBlock('online') #1 /home/№№№№/public_html/classes/engine/Engine.class.php(187) : eval()'d code(1): LsViewer->AddBlock('right', 'online') #2 /home/№№№№/public_html/classes/engine/Engine.class.php(187): eval() #3 /home/moviem/public_html/classes/engine/Module.class.php(37): Engine->_CallModule('Viewer_AddBlock', Array) #4 [internal function]: Module->__call('Viewer_AddBlock', Array) #5 /home/№№№№/public_html/classes/modules/adminblocks/AdminBlocks.class.php(81): LsAdminBlocks->Viewer_AddBlock('right', 'online') #6 /home/№№№/public_html/classes/engine/Engine.class.php(78): LsAdminBlocks->Shutdown() #7 /home/№№№№/public_html/classes/engine/Router.class.php(107): Engine->ShutdownModules() #8 /home/m in /home/№№№/public_html/classes/modules/sys_viewer/Viewer.class.php on line 284
avatar
Все! Сам разобрался! :)
avatar
Здравствуйте. Будьте добры, подскажите пожалуйста.
Нужно сделать блок, который бы выводил все заголовки топиков в личном блоге юзера N.
Личные манипуляции ни к чему не привели.
Заранее спасибо.
avatar
подскажите пожалуйста как отобразить модуль «люди» как на charla.ru/, чтобы модуль выводил топ пользователеи и кто онлаин?
avatar
У меня пропадали блоки «привязанные изображения» и ссылки справа при создании блогов и топиков «привязать изображения» из галереи benone. Кто нибудь знает как решить проблему?
avatar
А как сделать чтобы вместо who is online было: Сейчас на сайте
???
avatar
Файл
templates/skin/new/block.online.tpl
avatar
Спасибо!!!
avatar
Подскажите, когда будет реализация менеджера блоков на 0.4
avatar
Присоединяюсь к вопросу!!! Очень ждем…
avatar
Тоже интересует, или где на что править нужно?
avatar
Есть плагин Дополнительные блоки по 0.4, в нем в какой то степени реализовано это.
avatar
не совсем то
avatar
avatar
А чего именно вы ждете от менеджера блоков?
Напомню, что менеджера блоков для 0.3, настраивается вручную через конфиг-файл
avatar
Такой вопрос:
1. А если online более 20 чел, то все равно там показываются только последние. Как тут быть? у меня как раз такая ситуация.
2. И где менять шаблон вывода блока? чтобы компактнее сделать.
3. И как этот блок поднять выше, чтоб он был не последний в левой колонке?
avatar
а как вывести блок плагина Похожие темы?
  • Guf
  • 0
avatar
Поставил на чистый Live Street выдает ошибку
Fatal error: Class 'ModuleAdminBlocks' not found in /путь_до_сайта/engine/classes/Engine.class.php on line 162

Помогите пожалуйста, может что-то не так установил?
avatar
Скажите, а модификация модуля под 4.2 не планируется?
avatar
avatar
Подскажите пожалуйста, он лайн пользователи показывает, что (1) гость, но я на сайте как пользователь зарегистрированный. Какие параметры нужно изменить, чтобы показывало точно?
avatar
подскажите лузеру:
прописал вывод плагина КАТЕГОРИЙ, указал в конфиге на путь плагина, указал шаблон .tpl, но не видно само тело категорий(т.е. видно заголовок, и нижняя часть, а сами категории не появляются)
$config['blocks'][] = array(
'block' => 'category', // название блока
    'position' => 'right', // позиционирование блока
    'priority' => 10011111,
    'params' => array(
        'plugin' => 'block.Category.tpl', //

    ),

что я забыл? спасибо)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.