Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как {image-1} вывести main.tpl ?

Как {image-1} вывести main.tpl ?


     12.07.2018    Общие вопросы, Шаблоны (TPL), Общие вопросы по PHP    175

вопрос
Так получилось, что код в main.tpl
[aviable=showfull]<link rel="image_src" href="[xfvalue_image_url_image]">[/aviable]

заменил на этот:
[aviable=showfull]<link rel="image_src" href="{image-1}">[/aviable]

Но он не работает. Прошу помощи!

Ответил: Woodire


Установка:
1. Открываем файл /engine/classes/templates.class.php и после строки:
class dle_template {

Вставить
var $transfer = array ();

Далее ищем код:
function get_real_time() {
И выше вставить
/* Глобализация данных */
	function transfer_result($matches=array()){
		$index   = $matches[2];
		$itsdata = $matches[3];
		$this->transfer[$index] = $itsdata;
	}

В этом же файле найти строку
if( isset( $this->result[$tpl] ) ) $this->result[$tpl] .= $this->copy_template;
И ПЕРЕД ней вставить
/* Глобализация данных */
if (strpos ($this->template, "[transfer=" ) !== false) {
	preg_replace_callback( "#\\[(transfer)=(.+?)\\](.*?)\\[/transfer\\]#is",array( &$this, 'transfer_result'), $this->copy_template);
	foreach($this->transfer as $index => $itsdata) {
			$this->result['transfer'][$index][] = $itsdata;
	}
}
$this->copy_template = preg_replace ( "#\\[(transfer)=(.+?)\\](.*?)\\[/transfer\\]#is", "", $this->copy_template);


2. Далее открываем файл /engine/classes/parse.class.php для защиты вставим, после строки
$source = str_ireplace( "{custom",
Вставить
$source = str_ireplace( "{transfer", "&#123;transfer", $source );


3. Открываем файл /engine/modules/main.php и ПЕРЕД строкой
echo $tpl->result['main'];

Вставить
/* Глобализация данных by rocksmart */
if( count($tpl->result['transfer']) > 0 ) {
	foreach($tpl->result['transfer'] as $index => $itsdata) {
		$tpl->result['main'] = str_replace ( '{transfer_' . $index . '}', implode($itsdata), $tpl->result['main'] );
	}
}
$tpl->result['main'] = preg_replace( "#\\{transfer_(.+?)\\}#i", "", $tpl->result['main']);



Установка закончена!

Пример использования
[transfer=Уникальный идентификатор]какой либо текст с тегами соответствующими данному шаблону[/transfer]


Рассмотрим на примере вывода тега {title} с fullstory.tpl в main.tpl
В fullstory.tpl пишем
[transfer=image]{image-1}[/transfer]

И потом в main.tpl в нужном месте
{transfer_image}

В итоге Название новости будет показано в файле main.tpl тегом {transfer_image}

1 комментарий

Woodire
Юзер

Woodire - 14 июля 2018 13:04 -


Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх