Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] ipb, редактирование стиля (http://forum.oszone.net/showthread.php?t=110441)

Artem-Samsung 02-07-2008 02:59 839909

ipb, редактирование стиля
 
Вот копаюсь в движке ipb через админку
Нашел редактор шаблона, вместо стандартного кода шапки хотел бы вставить там код php
Пока только инклюд, но и в дальнешем хотел бы применять где то там свои модули.
Вот только сохранив страницу вот с таким текстом:

<div class="borderwrap">
<?php include('artemius_scripts/ipb_header.php'); ?>
<div id="submenu">
<!--ipb.leftlinks.start-->
<if="$this->ipsclass->vars['home_url']">
.......

Не получил никакого результата. Шапка не отобразилась, да и вооще испугало меня то, что открыв исходный код, там было написано:
<?php include('artemius_scripts/ipb_header.php'); ?>
т.е. скрипт не обработался.

Подскажите пожалуйста, как выйти из ситуации. Как можно применять свои модули в ipb, да и подбросьте полезной документации.
Спасибо

Artem-Samsung 02-07-2008 03:33 839913

Проше говоря, как мне где то написать хотя бы echo "Hello World"; что бы оно отобразилось

][alter 10-07-2008 00:14 847347

В sources/ipsclass.php найти:
PHP код:

$text preg_replace"/(<|<)% (MEMBER BAR|BOARD FOOTER|BOARD HEADER|CSS|JAVASCRIPT|TITLE|BOARD|STATS|GENERATOR|COPYRIGHT|NAVIGATION) %(>|>)/i""<% \\2 %>"$text ); 

Заменить на:
PHP код:

$text preg_replace"/(<|<)% (INCLUDE|MEMBER BAR|BOARD FOOTER|BOARD HEADER|CSS|JAVASCRIPT|TITLE|BOARD|STATS|GENERATOR|COPYRIGHT|NAVIGATION) %(>|>)/i""<% \\2 %>"$text ); 

В sources/classes/class_display.php найти:
PHP код:

this->ipsclass->skin['_wrapper'] = str_replace"<% CHARSET %>"        $this->ipsclass->vars['gb_char_set'], $this->ipsclass->skin['_wrapper']); 

Добавить после:
PHP код:

//-----------------------------------------
// PHP INCLUDES
//-----------------------------------------    

$incmatches=array();
while (preg_match("\x3C\% INCLUDE \"(\S*?)\" \%\x3E", $this->ipsclass->skin['_wrapper'], $incmatches) >0)
{        
    $this->ipsclass->skin['_wrapper'] = str_replace("<".$incmatches[0].">", "<?php include"" $incmatches[1] . "\"; ?>"$this->ipsclass->skin['_wrapper']);
    
$incmatches=array();
}

Найти в функции do_output:
PHP код:

print $this->ipsclass->skin['_wrapper']; 

Заменить на:
PHP код:

print eval('?>' . $this->ipsclass->skin['_wrapper'] . '<?php ');


Artem-Samsung 10-07-2008 20:02 848092

Спасибо, попробую, очень надеюсь, что поможет


Время: 04:51.

Время: 04:51.
© OSzone.net 2001-