При работе с сайтом на базе ЛС инода возникает необходимость свои блоки делать и включать их в страницы. В принципе, особых проблем в этом нет. Но если нужно, чтоб блок показывался на всех страницах, то нужно пробежаться по нескольким экшенам и там добавить блок. Если возникает желание сделать так, чтоб где-то блок показывался, а где-то нет, то нужно сообразить, в каких классах его вставить, а в каких — нет.
Собственно, проблема не шибко серьезная, но, тем не менее, возникло желание сделать так, чтоб манипулировать блоками можно было из одного места. Так и родился модуль «Менеджер Блоков».
Модуль делает довольно банальные вещи:
1) Берет из своего конфиг-файла инфу, какие блоки надо выводить. Причем, можно определить, выводить блоки ТОЛЬКО те, которые в конфиге, либо их добавить к тем, что заданы в экшенах
2) Позволяет определять, на каких страницах выводить и/или на каких страницах не надо выводить те или иные блоки (т.е. можно задать, что какой-то блок будет выводиться только на главной странице, либо наоборот — на всех, кроме главной)
3) Подгружает, при необходимости, конфигурационные файлы блоков, лежащие в папке config/blocks/имя_блока, что позволяет создавать блоки, которые можно конфигурировать. Причем конфиг-файлы подгружаются ТОЛЬКО для тех блоков, которые должны выводиться на странице.
И в качестве бонуса для демонстрации всего этого безобразия в комплекте с модулем идет блок «Кто в онлайне», который можно сконфигурировать по свему вкусу (внимательно читаем /config/blocks/online/config.php)
нужно вручную прописывать, какие блоки и где они будут, в конфиг файл модуля? В ридми ничего не написано.
P.S. Добавьте в ридми мини руководство пользователя
А чо мне переводчик сказал, то я и воткнул. Ты же особо не утруждаешь себя, чтобы я понял, что за проблема.
Проверь, все ли файлы на месте. Если не найден класс AdminBlocks, то в первую очередь надо убедиться, на месте ли файл /classes/modules/adminblocks/Adminblocks.class.php
Причем здесь этот модуль и сапа?
Включайте хоть иногда мозг — это весело.
Жмите сюда (только не пальцем или носом, а левой кнопкой мыши — это та, что с колесиком и проводом). И прошу без обид. Раз вы не можете додуматься до такой элементарной вещи, как поиск, то лучше удалите движок и учитесь вышивать крестиком.
Дорогой друг. С мозгом всё в порядке. Я нормальным языком попросил пошагово помочь. И, не потому, что лень думать или что-то в этом роде, а из-за того, что некоторые вещи для некоторых людей — «темный лес». Если бы я, например, досконально разбирался в программировании, то не стал бы использовать готовое решение («LiveStreet», в частности), а написал бы себе то, что и нужно. Если нечем конкретно помочь, то проходим мимо и, свои предрассудки оставляем для себя.
Я уважаю ваш труд а, ваши разработки действительно помогают неподготовленным пользователям. Но, не владея необходимым количеством информации, вы делаете совершенно необоснованные выводы. Я не хочу тут объяснять что и как (не все же имеют возможность заниматься тем, чем они должны или хотят заниматься), ведь, если бы у кого-то было желание помочь — непременно бы помог, а не стал тут заниматься «нравоучениями». Спасибо за внимание.
Долой предрассудки. Если неумение программировать не позволяет вам пользоваться поиском, то в этом случае уже никто и ничто вам не поможет.
Если нечем конкретно помочь
А это что по-вашему? Уже не раз все разжевано. Или за вас еще и проглотить надо?
Уверены, что с мозгом все в порядке? Все-таки пяльцем, иглами и нитями стоит запастись, да и обзор тканей прочтите — http://www.fairyneedle.ru/page.php?id=4. Я уверен, вы подберете себе подходящую. Удачи!
ЗЫ: не советую начинать со льна.
Вместо этого сообщения, если вы разбираетесь, конечно, могли бы привести пример создания того, о чем бы я просил.
Выгода, если вам не понятно, была бы многогранна:
Я, да и не только я, смог бы сэкономить несколько дней на разбор и, соответственно, на несколько дней больше могли бы поступать средства (пусть 2–3 доллара, но всё же) с sape, которые бы, с удовольствием, я бы перевел создателю модуля (ведь, не зря он публикует кошельки свои). Вы бы получили массу благодарностей от тех, кому бы это пригодилось.
А ваши псевдоироничные выпады в мою сторону лишь забавляют меня.
Всё верно, теперь я поищу кого-нибудь на сайте, кто за 4 минуты и 10 wmz сделает этот злосчастный блок, вы так и будете думать, что все вокруг жмоты (хотя, это далеко не так), Romelyus будет тут ссылки на рукодельческие ресурсы подсовывать всем, у кого есть какие-то вопросы, а в итоге, я получу свое, а тот, кто реализует просто посмеется со всех, т. к., нежели тут было разводить срач и пытаться доказать не пойми что, просто помочь. Всё просто.
Думаю будет полезным перечислить возможные страницы для размещения блоков:
index — Главная страница
blog — Страница какого-либо блока, открывается например по ссилке в блоке «Блоги»
tag — страница тегов-тега
log — персональные блоги
top — лучшие, TOP
people — страница «Люди»
Примерно так, дополните, наверное что то пропустил.
И ещё думаю для того что бы полноценно управлять с помощью "Менеджера блоков", необходимо удалить все блоки в экшенах и только потом инициализировать их в конфиге менеджера. Иначе нельзя управлять расположением блока по вертикали, те что в экшенах будут априори выше. Сам модуль хороший, жаль без создания и удаления блоков)
Будьте любезны, уточните, где именно надо «удалить все блоки в экшенах»?
Если я правильно понял, то в файле
/classes/actions/ActionBlog.class.php
надо удалить строку
$this->Viewer_AddBlocks('right',array('stream','tags','blogs'));
Но вроде как этого недостаточно… Подскажите, что я упустил?
Если походить строго, то это строку $this->Viewer_AddBlocks(...); надо удалить из всех модулей. Но это палка о двух концах: ты облегчаешь работу движку, убирая лишние операции, но, с другой стороны, ты влезаешь в код типовых модулей. Делать это можно только если хорошо понимаешь, что и зачем это делаешь. Плюс — вероятный геморрой при апгрейде движка до новой версии (ведь выйдет же она когда-нибудь). Поэтому — семь раз отмерь, прежде, чемреазть.
ок, понял, не буду удалять… Но тогда другая проблемка вылезает, если «сбрасывать блоки» в конфиге, то не выводится блок со статистикой на странице Люди. Вероятно она (статистика) тоже имеет свой блок и его надо прописать в конфиге. Но не могу его найти! Как его имя?
это я нашел. Но! Там подключается как-бы не блок, а шаблон…
$this->Viewer_AddBlocks('right',array('actions/ActionPeople/sidebar.tpl'));
В свою очередь в шаблоне подключается скрипт графика, плюс блоки городов и стран…
Как же быть в данном случае?
Извините за глупый (возможно) вопрос: а случайно нельзя ли таким же образом выводить блок в самом верху сайта (с рекламой как на хабре)?
Другими словами, существует ли позиционирование 'top'?
Еще проблемка вылезла: исчезли блоки в админке (admin/users/). Перед тем как писать попробовал кучу вариантов… Либо получается выводить блоки ПО ВСЕЙ АДМИНКЕ, либо нигде. А надо только например в admin/users/ или admin/users/banlist/
А нельзя ли «сбрасывать блоки» везде, кроме админки?
В версии 1.0.4 добавлена возможность выборочного сброса блоков, задаваемых в actions.
Пример 1: мы хотим сбросить все блоки только на главной странице (потому что зададим сами, какие блоки там будут выводиться), а на всех остальных страницах блоки не трогаем, а только будем добавлять к ним свои. Тогда задаем:
Пример 2: хотим сбросить блоки, которые задаются во всех экшенах, а вот на страницах admin, people и profile трогать их не будем, ибо там особые блоки задаются.
почистите кеш =) блок то пропадет.
только вот… 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
ну вобще правило хорошего тона закрывать от дурака все =) (я тестером на паралакс артс студио в своё время работал и в девтрак такую задачу поставил бы)
:) в том то и дело, что "itcat" — это название компании, а компаний то много, для каждой просто нереально прописать. тут нужно как то за vacancies и blog цепляться, но совсем непонятно как это осуществить.
А можете привести пример, а то не очень понимаю ваши слова «Если возникает желание сделать так, чтоб где-то блок показывался, а где-то нет, то нужно сообразить, в каких классах его вставить, а в каких — нет.»
Я посмотрю, что можно сделать. Но если некогда ждать и есть понимание, как работают шаблоны, то можно самостоятельно поковыряться в шаблоне block.online.tpl
Други, а подскажите плиз, как можно сделать, на основе данного модуля, блок рекламы и вставлять его, скажем, как на Livestreet.ru с права?
И, второе, можно ли получить список блоков, а точнее их имен, которые можно вставлять в модуль?
Спасибо…
Может быть хитрый вопрос, с подковыркой. так сказать, но:
можно ли как-то добиться такого, чтобы блок, выводящийся в sidebar справа ниже всех остальных блоков, уезжал в самый самый низ, т.е. если длинная лента публикаций, чтобы были «полезные» блоки сверху, а ссылки сапы были бы в блоке, который прямо над футером справа бы болтался. (В футер сапу воткнуть не удаётся, т.к. тогда слетает почему-то раздел WIKI, и отображается вместо него только текст из футера — глюк)…
Думаю будет полезным перечислить возможные страницы для размещения блоков:
index — Главная страница
blog — Страница какого-либо блока, открывается например по ссилке в блоке «Блоги»
tag — страница тегов-тега
log — персональные блоги
top — лучшие, TOP
people — страница «Люди»
А можно ли как-нибудь заставить манипулировать блоками на страницах вида .../blog/317.html — очень хочется мне для каждой странички иметь возможность свой блок добавлять, но в нынешней сборке модуля так делать нельзя. Может есть какое ноу-хау по быстрой доработке менеджера?
В принципе, это можно сделать. И я бы, может, и сделал, но уже объявлено, что в новой версии будет свой менджер блоков, и там, по-моему, такое будет предусмотрено. Поэтому как-то не очень хочется время напрасно тратить.
Эххх… А жаль. Новая версия ведь
а) не всеми будет устанавливаться
б) Бог весть, когда она реально кажет свой лик народу((
Так что, ежели будет, так сказать, энтузиазм и банка пива+время, за нами не заржавеет (копеечкой и спасибой)… :-)
Ребят! Срочно нужна ваша помощь. Я уже настолько запутался в этих блоках, что меня уже начинает подташнивать от происходящего. У меня вылезло куча ошибок… я сам виноват в происхоядещм, но большая просьба помочь, если, кто знает:
Здравствуйте. Будьте добры, подскажите пожалуйста.
Нужно сделать блок, который бы выводил все заголовки топиков в личном блоге юзера N.
Личные манипуляции ни к чему не привели.
Заранее спасибо.
У меня пропадали блоки «привязанные изображения» и ссылки справа при создании блогов и топиков «привязать изображения» из галереи benone. Кто нибудь знает как решить проблему?
Такой вопрос:
1. А если online более 20 чел, то все равно там показываются только последние. Как тут быть? у меня как раз такая ситуация.
2. И где менять шаблон вывода блока? чтобы компактнее сделать.
3. И как этот блок поднять выше, чтоб он был не последний в левой колонке?
Подскажите пожалуйста, он лайн пользователи показывает, что (1) гость, но я на сайте как пользователь зарегистрированный. Какие параметры нужно изменить, чтобы показывало точно?
подскажите лузеру:
прописал вывод плагина КАТЕГОРИЙ, указал в конфиге на путь плагина, указал шаблон .tpl, но не видно само тело категорий(т.е. видно заголовок, и нижняя часть, а сами категории не появляются)
$config['blocks'][] = array(
141 комментарий
P.S. Добавьте в ридми мини руководство пользователя
Здесь в топике сказано:
Есть предположения, что эта информация помещается в конфиг силой мысли?
u menia vot tak?
Проверь, все ли файлы на месте. Если не найден класс AdminBlocks, то в первую очередь надо убедиться, на месте ли файл /classes/modules/adminblocks/Adminblocks.class.php
Проблема решена
должен быть переименован файл
Adminblocks.class.php ---> AdminBlocks.class.php
:)))
мой косяк — на виндовом серваке проверял, а ему пофиг, схавал без проблем
щас выложу исправленный вариант
Пример 1: добавляем блок online, который будет выводиться на всех страницах
Пример 2: добавляем блок tags, который будет выводиться везде, кроме главной страницы
Пример 3: добавляем блок stream, который будет выводиться только но главной странице и на странице «блоги»
Так понятно?
Сами блоки живут здесь: /classes/blocks/Block_Имя_блока_.php
Шаблоны для них — зедсь: /templates/skin/_скин_/block._имя_блока_.tpl
Берем любой готовый блок, препарируем, смотрим, думаем.
Включайте хоть иногда мозг — это весело.
Жмите
А
Уверены, что с мозгом все в порядке? Все-таки пяльцем, иглами и нитями стоит запастись, да и обзор тканей прочтите —
ЗЫ: не советую начинать со льна.
Выгода, если вам не понятно, была бы многогранна:
Я, да и не только я, смог бы сэкономить несколько дней на разбор и, соответственно, на несколько дней больше могли бы поступать средства (пусть 2–3 доллара, но всё же) с sape, которые бы, с удовольствием, я бы перевел создателю модуля (ведь, не зря он публикует кошельки свои). Вы бы получили массу благодарностей от тех, кому бы это пригодилось.
А ваши псевдоироничные выпады в мою сторону лишь забавляют меня.
index — Главная страница
blog — Страница какого-либо блока, открывается например по ссилке в блоке «Блоги»
tag — страница тегов-тега
log — персональные блоги
top — лучшие, TOP
people — страница «Люди»
Примерно так, дополните, наверное что то пропустил.
Сбросить установку блоков в экшенах можно этим параметром из конфига:
Но если непосредственно в экшенах это сделать, то движок не будет лишней работы выполнять — установка блока в вэкшене, потом сброс в менеджере…
Если я правильно понял, то в файле
/classes/actions/ActionBlog.class.php
надо удалить строку
$this->Viewer_AddBlocks('right',array('stream','tags','blogs'));
Но вроде как этого недостаточно… Подскажите, что я упустил?
$this->Viewer_AddBlocks('right',array('actions/ActionPeople/sidebar.tpl'));
В свою очередь в шаблоне подключается скрипт графика, плюс блоки городов и стран…
Как же быть в данном случае?
Другими словами, существует ли позиционирование 'top'?
А нельзя ли «сбрасывать блоки» везде, кроме админки?
Пример 1: мы хотим сбросить все блоки только на главной странице (потому что зададим сами, какие блоки там будут выводиться), а на всех остальных страницах блоки не трогаем, а только будем добавлять к ним свои. Тогда задаем:
Пример 2: хотим сбросить блоки, которые задаются во всех экшенах, а вот на страницах admin, people и profile трогать их не будем, ибо там особые блоки задаются.
При этом можно и как раньше задавать параметры true или false.
чтобы вышло 8 сентября 2009, 20:06.
Задокументировал
$CFG['admin_blocks']['blocks'][]=array(
'block'=>'online', // название блока
'position'=>'right', // позиционирование блока
);
не помогло
только вот… avadim стоит проверочку дописать… на случай если я неодного блока твоим модулем не вывожу =)
ато —
некритично канешно но маты ненужны всёравно.
Т.е. именно на них а не на people и link.
Пример: В этом примере блок online будет показываться на всех страницах people, кроме people/online
Так не работает
возможно, нужно очистить кеш и/или скомпилированные шаблоны
Кисти и кэш и compiled. Нету блока и все.
Пробовал на разных страницах.
И на topic/add и на people/online.
Спасибо большое.
Класс ActionBlog
Класс ActionPeople
Так понятно?
Допустим в экшене ActionBlog.class.php есть метод EventEditBlog и вот как то в нём переопределить Init.
Ну понятное, мне скорее всего стоит копать в сторону вашего модуля и регулярных выражений.
{assign var=«bNoSidebar» value=true}
и заменить на:
И, второе, можно ли получить список блоков, а точнее их имен, которые можно вставлять в модуль?
Спасибо…
Ну к примеру чтобы в блоке показывало всего 10 пользователей…
$this->Viewer_AddBlocks('right',array('baner','stream','tags','blogs'));
можно ли как-то добиться такого, чтобы блок, выводящийся в sidebar справа ниже всех остальных блоков, уезжал в самый самый низ, т.е. если длинная лента публикаций, чтобы были «полезные» блоки сверху, а ссылки сапы были бы в блоке, который прямо над футером справа бы болтался. (В футер сапу воткнуть не удаётся, т.к. тогда слетает почему-то раздел WIKI, и отображается вместо него только текст из футера — глюк)…
А можно ли как-нибудь заставить манипулировать блоками на страницах вида .../blog/317.html — очень хочется мне для каждой странички иметь возможность свой блок добавлять, но в нынешней сборке модуля так делать нельзя. Может есть какое ноу-хау по быстрой доработке менеджера?
а) не всеми будет устанавливаться
б) Бог весть, когда она реально кажет свой лик народу((
Так что, ежели будет, так сказать, энтузиазм и банка пива+время, за нами не заржавеет (копеечкой и спасибой)… :-)
Нужно сделать блок, который бы выводил все заголовки топиков в личном блоге юзера N.
Личные манипуляции ни к чему не привели.
Заранее спасибо.
???
Напомню, что менеджера блоков для 0.3, настраивается вручную через конфиг-файл
1. А если online более 20 чел, то все равно там показываются только последние. Как тут быть? у меня как раз такая ситуация.
2. И где менять шаблон вывода блока? чтобы компактнее сделать.
3. И как этот блок поднять выше, чтоб он был не последний в левой колонке?
Помогите пожалуйста, может что-то не так установил?
прописал вывод плагина КАТЕГОРИЙ, указал в конфиге на путь плагина, указал шаблон .tpl, но не видно само тело категорий(т.е. видно заголовок, и нижняя часть, а сами категории не появляются)
$config['blocks'][] = array(
что я забыл? спасибо)