Include

12 3
P2
На сайте с 16.09.2005
Offline
183
1447

Прошу помочь в следующем:

1. Есть форум на vBulletin v3.5.4

2. Для него необходимо сделать вставку файла. К примеру также, как для SSI <!--#include virtual="/файл_такой_то" -->

3. Сделать необходимо так, чтобы случайным образом считывались файлы:

- файл_такой_то1

- файл_такой_то2

- ...

- файл_такой_тоN

Это нужно для простейшей "баннерной крутилки", которая загружает кусок HTML кода (необходимо в одном файле загружать и графику и ссылки)

Заранее спасибо

М
На сайте с 06.06.2006
Offline
1
#1

Форум на чём написан? PHP?

P2
На сайте с 16.09.2005
Offline
183
#2

Да, PHP. Забыл сообщить

eko
На сайте с 02.12.2005
Offline
30
eko
#3

<?php

$count = 10; //кол-во банеров

$var = rand(1, $count);

include("$_DOCUMENT_ROOT[SERVER]/banner_dir/baner$var.html");

?>

P2
На сайте с 16.09.2005
Offline
183
#4

Не прокатывает.

Здесь вставка должна быть в шаблоны. Вот как это сделать?

М
На сайте с 06.06.2006
Offline
1
#5

С помощью preg_replace по этим шаблонам

P2
На сайте с 16.09.2005
Offline
183
#6

А можно конкретный пример? Я в PHP не особо (точнее совсем :) )

eko
На сайте с 02.12.2005
Offline
30
eko
#7

Ни разу не видел VB изнутри, и не знаю как там осуществляется работа с шаблонами... если в сам шаблон код вставить нельзя то можно попробовать приписать его к какой-либо функции которая генерит динамику шапки для шаблонов, ну или в этом духе.

P2
На сайте с 16.09.2005
Offline
183
#8

Это как это? Можно пример?

eko
На сайте с 02.12.2005
Offline
30
eko
#9

Обычно шаблонизаторы работают по такому принципу:

существует шаблон вида <html><tile>page1</html>...<p>{show_header}<p>...</html>

когда юзер запрашивает страницу page1, движок берет этот шаблон, обрабатывает его с помощью preg_replace, которая заменит {show_header} на динамический контент.

Ну и потом движок отдаст юзеру сгенерированную страницу.

Собственно нужно найти место где генериться динамический контент для {show_header} и дописать туда приведенный выше код.

Ну или добавить в шаблонизатор обработчик для {show_baner} и лепить его куда угодно.

P2
На сайте с 16.09.2005
Offline
183
#10

Вот кусок из шаблона footer . Туда я и вставил код, который Вы указали

<br />
<div class="smallfont" align="center">$vbphrase[all_times_are_gmt_x_time_now_is_y]</div>
<br />

$spacer_close
<!-- /content area table -->

<form action="$vboptions[forumhome].php" method="get">

<table cellpadding="$stylevar[cellpadding]" cellspacing="0" border="0" width="$stylevar[outertablewidth]" class="page" align="center">
<tr>
<if condition="$show['quickchooser']">
<td class="tfoot">
<select name="styleid" onchange="switch_id(this, 'style')">
<optgroup label="$vbphrase[quick_style_chooser]">
$quickchooserbits
</optgroup>
</select>
</td>
</if>
<if condition="$show['languagechooser']">
<td class="tfoot">
<select name="langid" onchange="switch_id(this, 'lang')">
<optgroup label="$vbphrase[quick_language_chooser]">
$languagechooserbits
</optgroup>
</select>
</td>
</if>
<td class="tfoot" align="$stylevar
" width="100%">
<div class="smallfont">
<strong>
<if condition="$show['contactus']"><a href="$vboptions[contactuslink]" rel="nofollow">$vbphrase[contact_us]</a> -</if>
<a href="$vboptions[homeurl]">$vboptions[hometitle]</a> -
<if condition="$show['admincplink']"><a href="$admincpdir/index.php$session[sessionurl_q]">$vbphrase[admin]</a> -</if>
<if condition="$show['modcplink']"><a href="$modcpdir/index.php$session[sessionurl_q]">$vbphrase[mod]</a> -</if>
<if condition="$vboptions['archiveenabled']"><a href="archive/index.php">$vbphrase[archive]</a> -</if>
<if condition="$vboptions[privacyurl]"><a href="$vboptions[privacyurl]">$vbphrase[privacy_statement]</a> -</if>
<a href="#top" onclick="self.scrollTo(0, 0); return false;">$vbphrase[top]</a>
</strong>
</div>
</td>
</tr>
</table>

<br />

<div align="center">

<div class="smallfont" align="center">
<!-- Do not remove $cronimage or your scheduled tasks will cease to function -->
$cronimage
<!-- Do not remove $cronimage or your scheduled tasks will cease to function -->

$vboptions[copyrighttext]
</div>
</div>

</form>


<if condition="$show['dst_correction']">
<!-- auto DST correction code -->
<form action="profile.php" method="post" name="dstform">
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="do" value="dst" />
</form>
<script type="text/javascript">
<!--
var tzOffset = $bbuserinfo[timezoneoffset] + $bbuserinfo[dstonoff];
var utcOffset = new Date().getTimezoneOffset() / 60;
if (Math.abs(tzOffset + utcOffset) == 1)
{ // Dst offset is 1 so its changed
document.forms.dstform.submit();
}
//-->
</script>
<!-- / auto DST correction code -->

</if>
<script type="text/javascript">
<!--
// Main vBulletin Javascript Initialization
vBulletin_init();
//-->
</script>
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий