Хак "transfer" для dle - глобализация тегов DLE
Robot 2014.03.05 DLE модули 2189Плюсы:
+ Выводить данные всех тегов которые присутствуют в данном шаблоне в других шаблонах загружаемых на данной странице.
И так для начало установка:
Редактировать будем 3 файла.
Открываем index.php:
Ищем строку:
echo $tpl->result['main'];
Выше добавляем:
/* Глобализация данных хак "transfer" create 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']);
Дальше открываем файл: /engine/classes/templates.class.php
Ищем:
class dle_template {
После добавляем:
var $transfer = array ();
Далее ищем:
function get_real_time() {
list ( $seconds, $microSeconds ) = explode( ' ', microtime() );
return (( float ) $seconds + ( float ) $microSeconds);
}
После вставляем:
/* Глобализация данных хак "transfer" create by rocksmart */
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;
else $this->result[$tpl] = $this->copy_template;
Выше добавляем:
/* Глобализация данных хак "transfer" create by rocksmart */
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);
Открываем файл /engine/classes/parse.class.php для защиты ставим:
После строки:
$source = str_ireplace( "{custom", "{custom", $source );
Вставляем:
$source = str_ireplace( "{transfer", "{transfer", $source );
Установка завершена! Профит как говориться!
Теперь рассмотрим применения:
Строка в шаблоне имеет такой вид: Цитата
[transfer=Уникальный идентификатор]какой либо текст с тегами соответствующими данному шаблону[/transfer]
НАпример:
в fullstory.tpl
в любом месте прописываем:
[transfer=views]Просмотров: {views}[/transfer]
В любом нужном нам месте main.tpl прописываем:
{transfer_views}
А дальше ваша фантазия для написания и расставления тегов по шаблону.
Вот как я немного пошаманил:
Код в fullstory такой был:
[transfer=title]{title}[/transfer]
[transfer=tags]{tags}[/transfer]
[transfer=views]Просмотров: {views}[/transfer]
[transfer=data]Дата: [day-news]{date}[/day-news][/transfer]
[transfer=comments-num][com-link]<b>{comments-num}</b>[/com-link][/transfer]
[transfer=rate] [rating]<div class="rating">{rating}</div>[/rating][/transfer]
[transfer=fullimages]
В main.tpl выводил так:
{transfer_views} фильма {transfer_title}</ul>
<ul class="topnews"> {transfer_data}</ul>
<ul class="topnews">Получил коментариев: {transfer_comments-num}</ul>
<ul class="topnews">Рейтинг: {transfer_rate}</ul>
{transfer_fullimages}
{transfer_tags}
В main.tpl можно вывести и всю статистику но при просмотре статистики!
Так же теги профиля при просмотре профиля!
Другие новости по теме:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.