Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

К статье "Подключение собственного кода на php к phpBB&

"Обсуждение материалов сайта" и "Пожелания и критика" в одном флаконе.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Zmei

К статье "Подключение собственного кода на php к phpBB&

Сообщение Zmei »

Прочитал статью Подключение собственного кода на php к phpBB. Написал процедуру.

Но решил сделать так:

Код: Выделить всё

include('somefile.php');
           function slogan()
                 ....
           $output = $my_array['slogan1'];

            $my_array прописан в somefile.php;
            Просто как $my_array['slogan1'] ='Slogan1'; 
Всё это дело не работает.Главная страница сохраняет от стиля только кнопки.
Знаю, что способ с выносом в отдельный файл дурацкий.
Но, что я делаю не так?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Cпособ с выносом в отдельный файл вполне приемлем, хотя пожалуй стоит при его подключении писать следующим образом:

Код: Выделить всё

include($phpbb_root_path . 'somefile.php');
А делаете вы не так вот что: переменная $my_array у вас глобальная, соответственно, чтобы функция ее "увидела" необходимо ее объявить специальным образом:

Код: Выделить всё

function slogan()
{
	global $my_array;
	...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
AlexMen
phpBB 1.4.2
Сообщения: 62
Зарегистрирован: 19 лет 4 месяца

Подключение баннерокрутилки

Сообщение AlexMen »

Внедрил код баннерокрутилки, как было указано в статье (через page_header.php). Но у меня почему-то баннер выводится в самом начале страницы, а не там, где мне этого хотелось бы (внутри таблицы).
В чем может быть дело?
Created by AlexMen
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

А как у вас выглядит код баннерокрутилки?
Последний раз редактировалось Xpert 22.01.2005 9:01, всего редактировалось 1 раз.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
AlexMen
phpBB 1.4.2
Сообщения: 62
Зарегистрирован: 19 лет 4 месяца

Сообщение AlexMen »

Код представляет собой файл, который includ'ится в нужное место.
В файле указано:

Код: Выделить всё

$RANDOM_TXT_FILE = "/path/forum/ad/banners.dat";
srand((double)microtime()*1000000);

if (file_exists($RANDOM_TXT_FILE)) {
$arry_txt = preg_split("/--NEXT--/", join('', file($RANDOM_TXT_FILE)));
        echo $arry_txt[rand(0, sizeof($arry_txt) -1)];
} else {
        echo "Error: can't open $RANDOM_IMG_FILE file";
}
Буду благодарен за ответ!
Created by AlexMen
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Так вам не echo надо, вам надо данное значение в шаблон передать.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
AlexMen
phpBB 1.4.2
Сообщения: 62
Зарегистрирован: 19 лет 4 месяца

Сообщение AlexMen »

Xpert, я не совсем понимаю.
В РНР я умею лишь писать простые программы и редактировать уже созданные.
Не подскажете, как лучше это осуществить?
Created by AlexMen
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

echo - это вывод строки непосредственно в браузер. Вам же надо передать ее в шаблон. Т.е. вместо

Код: Выделить всё

echo $arry_txt[rand(0, sizeof($arry_txt) -1)];
Нужно:

Код: Выделить всё

$banner_txt = $arry_txt[rand(0, sizeof($arry_txt) -1)];
Далее передаете переменную $banner_txt в шаблон как написано в статье.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
AlexMen
phpBB 1.4.2
Сообщения: 62
Зарегистрирован: 19 лет 4 месяца

Сообщение AlexMen »

Xpert, спасибо!
Created by AlexMen
Аватара пользователя
pehota
phpBB 1.4.2
Сообщения: 52
Зарегистрирован: 18 лет 8 месяцев

Сообщение pehota »

У меня схожая проблемка, посему пишу в эту ветку. Согласно статье пытаюсь вызвать скрипт. Делаю так:

1. В page_header.php нахожу "NAV_LINKS" => $nav_links_html) и добавляю:

Код: Выделить всё

'NAV_LINKS' => $nav_links_html, 
'INCLUDE_OUTPUT' => $include_output)
BTW, - использую одинарные кавычки, потому как в коде обнаружены именно таковые, а не как в примере в статье.

2. Несколько выше, в том же page_header.php прописываю путь к php-скрипту:

$include_output = include 'http://www.sitename.ru/path_to_file/cnt.php'

3. В overall_header.tpl добавляю:

{INCLUDE_OUTPUT}

В результате в месте вызова скрипта получаю 1 (единицу).

Что я делаю неправильно?

P.S. Вызываемые скрипт прилагается.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
FTN Technologies Support - FidoNet Software
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Тут либо надо использовать такую конструкцию:

Код: Выделить всё

function load_include($file)
{
	ob_start();
	include($file);
	$text = ob_get_contents();
	ob_end_clean();
	return $text;
}
Либо file или file_get_contents. Потом соотвественно передает все это в шаблон.

Кстати, лучше уж нашу статью почитайте, ссылка на нее есть в первом посте.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Зарегистрирован: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

pehota
а единицу получаешь потому, что скрипт успешно инклюдится =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y

Вернуться в «Обсуждаем сайт и конференцию»