Перейти к контенту

Перенос Data Varibles из одного шаблона в другой.


Рекомендуемые сообщения

Здравствуйте... вообщем, захотел я делать, чтобы в global_board_header у меня была строчка, типа "С возвращением, последний раз вы были здесь : 6.8.2006, 17:09". Выдернуть "Welcome back; your last visit was:" и вставить его в хэдер у меня получилось. В xml это выглядит так:

{$this->ipsclass->lang['welcome_back_text']}

Это я взял из темпла PageTop. Но там дальше шла переменная $lastvisit, которая менялась автоматом при трансляции на дату последнего посещения. А при переносе ее в global_board_header она заменяется на пустоту... ^^* Что делать? Подскажите...

Ссылка на комментарий
Поделиться на других сайтах

А дизайн тут при чем?

 

Читайте... внимательнее plz. Это редактирование xml, следовательно - к дизайну относится. И разве переност этой надписи в заголовок не является функциональным элементом дизайна? O.o

Ссылка на комментарий
Поделиться на других сайтах

Wolfsider

Никакого отношения твоя проблема к дизайну не имеет.

Ты диз подправил и входную переменую прописал. А кто будет обработчик для этой переменой переносить? Погляди место где эта входная переменаЯ получает значение и сделай по аналогии.

Если вызовет затруднее напишу подробнее что и куда.

 

И самое важное ты версию форума не указал.

Ссылка на комментарий
Поделиться на других сайтах

2xRay. Если честно... то я не пойму где этот обработчик находится. Если ты про Edit Data Varibles , то в коде PageTop:

<script type="text/javascript">
//<![CDATA[
// Set up img vars
var img_markers = {
'bc_new.gif' : 'bc_nonew.gif',
'bf_new.gif' : 'bf_nonew.gif',
'br_new.gif' : 'br_nonew.gif'
};
var regex_markers = 'bc_new.gif|bf_new.gif|br_new.gif';
function focus_username( e )
{
if ( e.value == "{$this->ipsclass->lang['qli_name']}" )
{
	e.value = '';
	return false;
}
}
function focus_password( e )
{
if ( e.value == "------" )
{
	e.value = '';
	return false;
}
}
//]]>
</script>
<script type="text/javascript" src="jscripts/ipb_forum.js"></script>
<table cellspacing="0" class="newslink">
<tr>
	<td><b>{$this->ipsclass->lang['welcome_back_text']}: <span>$lastvisit</span></b><!-- IBF.NEWSLINK --></td>
	<td align="right" valign="middle">
	<if="$this->ipsclass->member['id'] == 0">
		<form action="{$this->ipsclass->base_url}act=Login&CODE=01&CookieDate=1" method="post">
			<input type="text" size="20" name="UserName" onfocus="focus_username(this)" value="{$this->ipsclass->lang['qli_name']}" />
			<input type="password" size="20" name="PassWord" onfocus="focus_password(this)" value="------" />
			<input class="button" type="image" src="{$this->ipsclass->vars['img_url']}/login-button.gif" />
		</form>
	</if>
	</td>
</tr>
</table>
<br />

 

Я ничего не нашел. Как видишь она там просто есть... а где она принемает значение я не могу найти. Я посмотрел скрипт jscripts/ipb_forum.js и там тоже ничего не нашел. А в Edit Data Varibles переменная описана как $lastvisit="" .

 

Мне нужно было перевести ее в global_board_header. Там я прописал ее также... черз запятую, как и говорится. Я даже пробовал тупо копировать текст из PageTop в global_board_header. Ничерта... может обработчик где-нибудь в другом шаблоне спрятан. Но опять-же где посмотреть, в каком порядке они генерируются? И зачем тогда описывать переменную и при этом приравнивать ей пустое значение... вообще, есть ли хэлп по этому всему? Вообщем, xRay, если можешь то прошу помочь с этим...

 

Версия форума - 2.2.1

Ссылка на комментарий
Поделиться на других сайтах

Не там ты ищеш гооврю же это не в скине все делается.

 

Алгоритм поиска такой (расказываю пошагово):

 

находим в скине $lastvisit смотрим в каком куске (функции) и каком разедел скинов (классе) находится наш искомый кусок (в данном случае это переменная внутри шаблона)

 

получаем

skin_boards->PageTop

 

отсюда ясно что переменая задается там где вызывается PageTop

 

можно сделать поиск по всем файлам форума "PageTop("

а можно сразу пройти в файл sources/action_public/boards.php

т.к. имено в нем вся фигня которая на главнйо странице форума покаежтся юзверям

 

делаем поиск внутри файла и видим

$this->output .= $this->ipsclass->compiled_templates['skin_boards']->PageTop( $this->ipsclass->get_date( $this->ipsclass->input['last_visit'], 'LONG' ) );

 

тепреь ты видиш откеда в шаблон попадает $lastvisit

 

ну все что тебе надо это в том шаблоне куда перенес эту переменую

вписать саму входящую переменую $lastvisit

и дописать ее ввод (даных для этой переменой) там где вызывается (в коде форума) функция скина

 

т.е. находиш где вызывается строчка с "global_board_header("

она будет тут

sources/classes/class_display.php

 

ну и дописываеш параметр вызываеомй функции global_board_header

 

 

Теперь все понятно?

Ссылка на комментарий
Поделиться на других сайтах

Спасибо... ) Более чем.

 

Теперь буду знать, что подобное изменение структуры влечет за собой внедрение в код всяких посторонних вещей. ) Постараюсь применять это в том случае, если для форума это будет не так накладно... просто скин я разрабатываю в стороне от самого форума, на "самопальном" полигоне. ) Поставил у себя на дому "Денвер" и юзаю его... а когда нужно будет переносить скин в nет, то нужно чтобы дефолтовый тоже работал как надо. ) Еще раз спс. за помощь...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.