Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Навигация форума

Собираюсь повесить на форум контекстную рекламу над или под навигацией. С ужасом думаю, что придется вставлять код в массу скинов на этом форуме.

Поэтому хотелось бы упростить задачу, а именно, поместить код в файл форума. Только в какой файл и как корректно это сделать?

Рекомендованные сообщения

/sources/classes/class_display.php

 

Найти строчку:

		$nav .= $this->ipsclass->compiled_templates['skin_global']->end_nav();

 

После этого вписать

$nav = '<h1>ИНФЕРНАЛЬНЫЙ РЕКЛАМНЫЙ БЛОК</H1>'.$nav;

, если хочешь, чтобы реклама была после стрелок навигации, и

$nav .= '<h1>ИНФЕРНАЛЬНЫЙ РЕКЛАМНЫЙ БЛОК</H1>';

, если хочешь, чтобы до.

 

Сойдёт?

 

Можно также, например, вынести HTML-код баннера в какой-либо отдельный файл, и писать в духе

$nav .= file_get_contents( ROOT_PATH . 'advert.html' );

В данном случае файл advert.html должен лежать в корне форума, а реклама разместится после навигации.

  • Автор

Спасибо :)

  • 6 месяцев спустя...
/sources/classes/class_display.php

 

Найти строчку:

		$nav .= $this->ipsclass->compiled_templates['skin_global']->end_nav();

 

После этого вписать

$nav = '<h1>ИНФЕРНАЛЬНЫЙ РЕКЛАМНЫЙ БЛОК</H1>'.$nav;

, если хочешь, чтобы реклама была после стрелок навигации, и

$nav .= '<h1>ИНФЕРНАЛЬНЫЙ РЕКЛАМНЫЙ БЛОК</H1>';

, если хочешь, чтобы до.

 

Сойдёт?

 

Можно также, например, вынести HTML-код баннера в какой-либо отдельный файл, и писать в духе

$nav .= file_get_contents( ROOT_PATH . 'advert.html' );

В данном случае файл advert.html должен лежать в корне форума, а реклама разместится после навигации.

Сделал, т.к. написано - помогло, спасибо, но блок вставляется на каждой странице. Как сделать, чтобы вставлялся только на некоторых? Интересуют в частности страница Портала и Главная страница форума.

Да, и код должен вставляться снизу страницы (до или после копирайтов). Заранее спасибо!

Кто-то ведь это делал? Поделитесь опытом!

Редактируйте основной шаблон форума. Там есть <% COPYRIGHT %> до или после него вставляйте.

Если бы всё было так легко, я бы не спрашивал. Я не говорю об HTML - мне нужно вставить PHP, а он так просто в шабы не ставится ;(

Ну вы даете. Коды счетчика идут на java, а не php. Это вам надо редиктировать ./sources/classes/class_display.php. Прописываете нужное в общем шаблоне, потом, по аналогии, делаете preg_replace на вашу функцию/ваш пхп код.

Если не понимаете в php ничего - не беритесь.

А разве я говорил о счётчиках? Тема о PHP - я сюда и написал.

Методом Dr.Freddy вывел код сверху, а мне нужно снизу и желательно только на 1 странице (главной). По-моему я так и писал :)

Прописываете нужное в общем шаблоне, потом, по аналогии, делаете preg_replace на вашу функцию/ваш пхп код.
Дык по какой аналогии. Хоть бы показали...
А разве я говорил о счётчиках? Тема о PHP - я сюда и написал.

Методом Dr.Freddy вывел код сверху, а мне нужно снизу и желательно только на 1 странице (главной). По-моему я так и писал :)

ну понимаете, код контестной рекламы обычно идет на java, а не на php.

Хотите до копирайта?

вставьте до

$this->ipsclass->skin['_wrapper'] = str_replace( "<% CSS %>"			, $css								, $this->ipsclass->skin['_wrapper']);

код

$copyright .= ВАШ КОД;

если до, то

$copyright = ВАША КОД.$copyright;

Вот аналогия.

 

А вот аналогия с str_replace, так же пишите до вставьте до

$this->ipsclass->skin['_wrapper'] = str_replace( "<% CSS %>"			, $css								, $this->ipsclass->skin['_wrapper']);

Вот код

$this->ipsclass->skin['_wrapper'] = str_replace( "ВАША СТРОКА В ШАБЛОНЕ"	, ВАША ФУНКЦИЯ			 , $this->ipsclass->skin['_wrapper']);

эм, понятно объяснил?

Да, спасибо, вроде всё понятно. Пока не попробовал, но ничего страшного вроде не увидел.

А можно как-нибудь сделать вывод только на одной странице, т.е. вставлять не через общий шаблон форума, а через изменение HTML шаблонов? Или это не имеет принципиального значения?

Только на одной странице? Вариантов множество. Можно просто редактировать нужный файл в ./sources/action_public/, можно в class_display.php сделай условите if($this->ipsclass->input['_low_act'] == ваш) то исполняем скрипт. Смотря, что вам надо. Так же можно отредактировать html фрагменты и сделать str_replace в class_display.php.

Только на одной странице? Вариантов множество. Можно просто редактировать нужный файл в ./sources/action_public/, можно в class_display.php сделай условите if($this->ipsclass->input['_low_act'] == ваш) то исполняем скрипт. Смотря, что вам надо. Так же можно отредактировать html фрагменты и сделать str_replace в class_display.php.

В принципе получилось, но строчки типа <% TEST %> можно вставить только через общий шаблон, через фрагменты HTML - не получается (выглядит также <% TEST %> - не парсится).

Отсюда вопрос - как вставлять непосредственно в фрагменты HTML? - это был бы хороший вариант, т.к. не очень понял, как выбирать страницы с помощью условий.

Просто нужно свой str_replace ставить после всех тех что уже есть в той функции.

 

Для проверки можете ещё попробывать заменять не <% TEST %> а скажем <!-- TEST --> ибо форум вроде как экранирует такого вида строчки, если они не описаны в функции strip_tags в файле ./sources/ipsclass.php

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.