Skip to content
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

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

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

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

  • 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

Recently Browsing 0

  • No registered users viewing this page.

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.