Skip to content

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

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

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

Featured Replies

/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 должен лежать в корне форума, а реклама разместится после навигации.

  • Author

Спасибо :)

  • 6 months later...
/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

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.