Fisana 700 02/03/2007 08:44 AM Собираюсь повесить на форум контекстную рекламу над или под навигацией. С ужасом думаю, что придется вставлять код в массу скинов на этом форуме.Поэтому хотелось бы упростить задачу, а именно, поместить код в файл форума. Только в какой файл и как корректно это сделать? Share this post Link to post
Доктор Фредди 6 02/03/2007 12:14 PM /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 должен лежать в корне форума, а реклама разместится после навигации. Share this post Link to post
Kosiak 1 08/07/2007 06:35 PM /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 должен лежать в корне форума, а реклама разместится после навигации.Сделал, т.к. написано - помогло, спасибо, но блок вставляется на каждой странице. Как сделать, чтобы вставлялся только на некоторых? Интересуют в частности страница Портала и Главная страница форума. Share this post Link to post
Kosiak 1 08/07/2007 06:51 PM Да, и код должен вставляться снизу страницы (до или после копирайтов). Заранее спасибо! Share this post Link to post
andaril 4 08/09/2007 09:15 AM Редактируйте основной шаблон форума. Там есть <% COPYRIGHT %> до или после него вставляйте. Share this post Link to post
Kosiak 1 08/13/2007 04:26 PM Если бы всё было так легко, я бы не спрашивал. Я не говорю об HTML - мне нужно вставить PHP, а он так просто в шабы не ставится ;( Share this post Link to post
andaril 4 08/13/2007 05:42 PM Ну вы даете. Коды счетчика идут на java, а не php. Это вам надо редиктировать ./sources/classes/class_display.php. Прописываете нужное в общем шаблоне, потом, по аналогии, делаете preg_replace на вашу функцию/ваш пхп код.Если не понимаете в php ничего - не беритесь. Share this post Link to post
Kosiak 1 08/13/2007 05:52 PM А разве я говорил о счётчиках? Тема о PHP - я сюда и написал.Методом Dr.Freddy вывел код сверху, а мне нужно снизу и желательно только на 1 странице (главной). По-моему я так и писал :) Share this post Link to post
Kosiak 1 08/13/2007 06:53 PM Прописываете нужное в общем шаблоне, потом, по аналогии, делаете preg_replace на вашу функцию/ваш пхп код.Дык по какой аналогии. Хоть бы показали... Share this post Link to post
andaril 4 08/13/2007 10:22 PM А разве я говорил о счётчиках? Тема о 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']);эм, понятно объяснил? Share this post Link to post
Kosiak 1 08/14/2007 04:23 AM Да, спасибо, вроде всё понятно. Пока не попробовал, но ничего страшного вроде не увидел.А можно как-нибудь сделать вывод только на одной странице, т.е. вставлять не через общий шаблон форума, а через изменение HTML шаблонов? Или это не имеет принципиального значения? Share this post Link to post
andaril 4 08/14/2007 09:39 AM Только на одной странице? Вариантов множество. Можно просто редактировать нужный файл в ./sources/action_public/, можно в class_display.php сделай условите if($this->ipsclass->input['_low_act'] == ваш) то исполняем скрипт. Смотря, что вам надо. Так же можно отредактировать html фрагменты и сделать str_replace в class_display.php. Share this post Link to post
Kosiak 1 08/14/2007 04:59 PM Только на одной странице? Вариантов множество. Можно просто редактировать нужный файл в ./sources/action_public/, можно в class_display.php сделай условите if($this->ipsclass->input['_low_act'] == ваш) то исполняем скрипт. Смотря, что вам надо. Так же можно отредактировать html фрагменты и сделать str_replace в class_display.php.В принципе получилось, но строчки типа <% TEST %> можно вставить только через общий шаблон, через фрагменты HTML - не получается (выглядит также <% TEST %> - не парсится).Отсюда вопрос - как вставлять непосредственно в фрагменты HTML? - это был бы хороший вариант, т.к. не очень понял, как выбирать страницы с помощью условий. Share this post Link to post