VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Как сделать замену в шаблонах при включении продукта
0
Для реализации продукта, необходимо сделать замену части кода в нескольких шаблонах на новый код.
Необходимо сделать замену в шаблоне navbar, SHOWTHREAD, tagbit, tag_cloud_link, tag_cloud_page.
Создал продукт. Сделал в основных настройках опцию включения / отключения. А вот дальше растерялся.
Посмотрел на несколько продуктов и понял, что надо сделать модуль который будет делать такую замену. Сделал модуль, но не могу понять в каком из местоположений его использовать. Вот PHP код модуля
И насчет такого количества замен. Возможно, проще будет использовать хук tags_start и вызов exec_header_redirect().
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1707
Репутация в разделе: 132
0
Quote:
Originally Posted by MDM
Возможно, проще будет использовать хук tags_start и вызов exec_header_redirect().
На сколько я понял эта функция делает редирект в случае перехода на определенную страницу.
Например если мне надо сделать переход со страницы forumhome на tags.php и у меня есть эта функция в виде:
if($vbulletin->options['smt_product_onoff'] == '1')
{
exec_header_redirect("smttags.php#tags.php");
}
То при клике в навбаре на линк tags.php будет сделан переход на smttags.php
Вопрос. Надо ли что то прописывать в .htaccess?
Вопрос: Почему в хуке tags_start, если линк на есть и в навбаре и шоутрид.
@MDM
Эксперт
Join Date: Jun 2006
Location: Петрозаводск
Posts: 249
Версия vB: 3.8.x
Пол:
Reputation:
Expert 1682
Репутация в разделе: 55
1
Quote:
Originally Posted by SMak044
Почему в хуке tags_start, если линк на есть и в навбаре и шоутрид.
Потому что при любом вызове tags.php будет происходить перенаправление на smttags.php, вне зависимости от того, откуда этот вызов произошел.
Quote:
Originally Posted by SMak044
exec_header_redirect("smttags.php#tags.php");
PHP Code:
exec_header_redirect('smttags.php');
И необходимо еще проверить параметры запроса, чтобы передать их в smttags.php.
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1707
Репутация в разделе: 132
0
Quote:
Originally Posted by MDM
Хук parse_templates.
Замены получаются. Но вот есть одна строка (вернее на одна), которые не хотят меняться. Но в тестовом файле замена происходит.
В чем может быть проблема? Надо ли как то преобразовывать эту строку? Гдето подсмотрел использование чего то вот такого : <span\ id=\"tag_wrapper\"> Это правильно или нет? И надо ли в этом случае как то выделять пробелы и табуляции?
@MDM
Эксперт
Join Date: Jun 2006
Location: Петрозаводск
Posts: 249
Версия vB: 3.8.x
Пол:
Reputation:
Expert 1682
Репутация в разделе: 55
0
Проверь строку поиска. Наверняка ошибка закралась. Слишком много текста.
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1707
Репутация в разделе: 132
0
Quote:
Originally Posted by MDM
Проверь строку поиска. Наверняка ошибка закралась. Слишком много текста.
В общем я кажется все понял. Спасибо!
Но решил сделать немного не так.
Я оставил замены там где надо поменять только имя файла.
Где надо менять много строк, я решил сделать через новый шаблон. Создал новый шаблон с необходимыми корректировками и прикрутил его к продукту (естественно его закешировал), тем более, что у меня есть файл замены стандартного поиска по меткам, там я этот новый шаблон и вызываю.
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1707
Репутация в разделе: 132
0
И снова вопрос но уже по vb4.
Не могу понять как сделать замену. Когда смотришь в редактирование шаблона то видишь например "{vb:raw footer}" Пытался сделать вставку новой переменной {vb:raw мой_footer} перед {vb:raw footer}, но никак не могу найти эту строку.
Решил посмотреть в массиве $vbulletin и увидел, что в кэше шаблонов там переменная {vb:raw footer} выглядит как ' . footer . '
Подскажите как вставить переменную {vb:raw мой_footer} к кэш шаблонов, что бы при работе она получала значение из модуля.
В общем то можно и ручками шаблон поправить, но это не красиво если требуются замены в нескольких шаблонах.