Опубликовано: 3 февраля 200718 г Собираюсь повесить на форум контекстную рекламу над или под навигацией. С ужасом думаю, что придется вставлять код в массу скинов на этом форуме.Поэтому хотелось бы упростить задачу, а именно, поместить код в файл форума. Только в какой файл и как корректно это сделать?
Опубликовано: 3 февраля 200718 г /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 должен лежать в корне форума, а реклама разместится после навигации.
Опубликовано: 7 августа 200718 г /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 должен лежать в корне форума, а реклама разместится после навигации.Сделал, т.к. написано - помогло, спасибо, но блок вставляется на каждой странице. Как сделать, чтобы вставлялся только на некоторых? Интересуют в частности страница Портала и Главная страница форума.
Опубликовано: 7 августа 200718 г Да, и код должен вставляться снизу страницы (до или после копирайтов). Заранее спасибо!
Опубликовано: 9 августа 200718 г Редактируйте основной шаблон форума. Там есть <% COPYRIGHT %> до или после него вставляйте.
Опубликовано: 13 августа 200718 г Если бы всё было так легко, я бы не спрашивал. Я не говорю об HTML - мне нужно вставить PHP, а он так просто в шабы не ставится ;(
Опубликовано: 13 августа 200718 г Ну вы даете. Коды счетчика идут на java, а не php. Это вам надо редиктировать ./sources/classes/class_display.php. Прописываете нужное в общем шаблоне, потом, по аналогии, делаете preg_replace на вашу функцию/ваш пхп код.Если не понимаете в php ничего - не беритесь.
Опубликовано: 13 августа 200718 г А разве я говорил о счётчиках? Тема о PHP - я сюда и написал.Методом Dr.Freddy вывел код сверху, а мне нужно снизу и желательно только на 1 странице (главной). По-моему я так и писал :)
Опубликовано: 13 августа 200718 г Прописываете нужное в общем шаблоне, потом, по аналогии, делаете preg_replace на вашу функцию/ваш пхп код.Дык по какой аналогии. Хоть бы показали...
Опубликовано: 13 августа 200718 г А разве я говорил о счётчиках? Тема о 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']);эм, понятно объяснил?
Опубликовано: 14 августа 200718 г Да, спасибо, вроде всё понятно. Пока не попробовал, но ничего страшного вроде не увидел.А можно как-нибудь сделать вывод только на одной странице, т.е. вставлять не через общий шаблон форума, а через изменение HTML шаблонов? Или это не имеет принципиального значения?
Опубликовано: 14 августа 200718 г Только на одной странице? Вариантов множество. Можно просто редактировать нужный файл в ./sources/action_public/, можно в class_display.php сделай условите if($this->ipsclass->input['_low_act'] == ваш) то исполняем скрипт. Смотря, что вам надо. Так же можно отредактировать html фрагменты и сделать str_replace в class_display.php.
Опубликовано: 14 августа 200718 г Только на одной странице? Вариантов множество. Можно просто редактировать нужный файл в ./sources/action_public/, можно в class_display.php сделай условите if($this->ipsclass->input['_low_act'] == ваш) то исполняем скрипт. Смотря, что вам надо. Так же можно отредактировать html фрагменты и сделать str_replace в class_display.php.В принципе получилось, но строчки типа <% TEST %> можно вставить только через общий шаблон, через фрагменты HTML - не получается (выглядит также <% TEST %> - не парсится).Отсюда вопрос - как вставлять непосредственно в фрагменты HTML? - это был бы хороший вариант, т.к. не очень понял, как выбирать страницы с помощью условий.
Опубликовано: 15 августа 200718 г Просто нужно свой str_replace ставить после всех тех что уже есть в той функции. Для проверки можете ещё попробывать заменять не <% TEST %> а скажем <!-- TEST --> ибо форум вроде как экранирует такого вида строчки, если они не описаны в функции strip_tags в файле ./sources/ipsclass.php
Собираюсь повесить на форум контекстную рекламу над или под навигацией. С ужасом думаю, что придется вставлять код в массу скинов на этом форуме.
Поэтому хотелось бы упростить задачу, а именно, поместить код в файл форума. Только в какой файл и как корректно это сделать?