loading...

Авторизация ...

Имя пользователя :
Пароль :
я всё забыл!

ХакиВывод из доп.полей dle в шаблоне main.tpl

Написал BSoD, 4 марта 2011 | 42 комментария | рейтинг новости не нравится   +1   нравится Версия для печати
Вывод из доп.полей dle в шаблоне main.tpl
В DLE по умолчанию информация из доп полей выводится в двух шаблонах fullstory и shortstory, а если вы сеошник который хочет сунуть ссылки в футер? Или вам нарисовали дизайн где часть информации из доп.полей выводится с боку? Данный хак позволит вывести информацию в шаблоне main.tpl в любом месте.
Автор: BSoD

Вы не можете скачивать файлы с нашего сервера

Отблагодарили: fargus1

Комментарии пользователей

  Экспорт комментариев в RSS
 Сортировать по рейтингу, по дате

Написал a_lex, вчера, 02:38 плохой комментарий   +3   хороший комментарий
Новостей: 23, комментариев: 232, Пользователи
Карма:
а чем не устраивает конструкция [aviable=main]текст[/aviable] ? Насколько я понимаю дополнительные поля заполняются при редактировании новости, то какая тогда логика с главной страницей?

Написал Borchun, вчера, 03:27 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 124, Пользователи
Карма:
тоже не понял что оно делает

Написал JetPilot, вчера, 08:25 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 135, Пользователи
Карма:
Китайский велосипед с квадратными колесами be Для выводов существует авибл и инклюд если для других новостей.... Ну хоть денег не просит за это)))

Написал ПафНутиЙ, вчера, 08:42 плохой комментарий   +2   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
В ДЛЕ есть привеликое множество способов вывести чтото-там кудато-там, и этот способ - бред! в крайнем случаи можно использовать custom и выводить только одно допполе, которое необходимо. Включайте голову автор.

Написал BSoD, вчера, 08:54 плохой комментарий   -3   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Смысл был прост, работаю с некоторыми биржами, и купленные ссылки надо было вставлять в каждой новости свои и необходимо что бы они выводились футере.
a_lexНе устраивает тем что стандартными средствами вы не сделаете, то что было надо.

В ДЛЕ есть привеликое множество способов вывести чтото-там кудато-там, и этот способ - бред! в крайнем случаи можно использовать custom и выводить только одно допполе, которое необходимо. Включайте голову автор.

Для начала раскурите суть, а потом поговорим.[/u]

В ДЛЕ есть привеликое множество способов вывести чтото-там кудато-там, и этот способ - бред! в крайнем случаи можно использовать custom и выводить только одно допполе, которое необходимо. Включайте голову автор.

От кого не ожидал так от вас "мастер" dle, зрите в корень а не несите бред, кустомом вы сделаете лишний запрос и не получите того результата который нужен.

Написал Fantorkin, вчера, 09:44 плохой комментарий   -2   хороший комментарий
Новостей: 1, комментариев: 41, Пользователи
Карма:
спасибо искал такое решение

Написал BSoD, вчера, 09:50 плохой комментарий   -2   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Еще пример использования хака, информация по игре тут с боку http://igromania.ru/gamebase/119301/ ,в дле вы стандартными средствами так не сделаете, а этот хак позволит.

Написал ПафНутиЙ, вчера, 09:57 плохой комментарий   +1   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
Цитата: BSoD
кустомом вы сделаете лишний запрос и не получите того результата который нужен.

Т.е. лучше заставлять двиг заморачиваться лишним кодом, чем кинуть в кеш 1 запрос?

Раскуриваю суть:

В main.tpl пишем в нужном месте:
[aviable=main]{custom category="2,7" template="custom" aviable="global" from="0" limit="10" cache="yes"}[/aviable]


Код шаблона custom.tpl:
<div class="custom">
<span>[xfvalue_linck_chest]</span>
</div>


Или я не прав?
И что будет при обновлении движка с Вашим хаком (особенно если админ с год не будет обновляться, а потом вдруг решит?
И что будет при количестве ссылок >1000 - футер в 3 экрана?



Написал BSoD, вчера, 10:13 плохой комментарий   -4   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Два вам, зрите в корень (в код) читайте пост и прочтите комментарии, подумайте где же я все таки и что вывожу.

И что будет при обновлении движка с Вашим хаком (особенно если админ с год не будет обновляться, а потом вдруг решит?

С моим нечего не будет, он будет прекрасно работать, знаете ли переменная $rоw['xfields'] с которой хак работает, была и будет в дле всегда.

И что будет при количестве ссылок >1000 - футер в 3 экрана?

А этого не будет, хотя бы по той причине что вы не поняли суть хака.

Написал ПафНутиЙ, вчера, 10:23 плохой комментарий   0   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
Цитата: BSoD
Еще пример использования хака, информация по игре тут с боку http://igromania.ru/gamebase/119301/ ,в дле вы стандартными средствами так не сделаете, а этот хак позволит.


это вообще элементарщина!
[aviable=showfull]
<div>
<div>[xfvalue_field_1]</div>
<div>[xfvalue_field_2]</div>
<div>[xfvalue_field_3]</div>
<div>[xfvalue_field_4]</div>
<div>[xfvalue_field_5]</div>
</div>
[/aviable]
И всё это суём в нужное место! ВСЁ!

Цитата: BSoD
А этого не будет, хотя бы по той причине что вы не поняли суть хака.

Объясните подробнее, если можно, с конкретным примером..... т.е. окончательная цель хака какая?

Написал BSoD, вчера, 10:29 плохой комментарий   -2   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
И всё это суём в нужное место! ВСЁ!

Суньте в маин.тпл на место боковой колонки и посмотрите.

Написал ПафНутиЙ, вчера, 10:34 плохой комментарий   0   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
Сори, затупил.....
Я же выводи похожие новости в сайдбар через jquery :) что собственно намного проще и лучше, чем предложенный способ. По аналогии выводятся и допполя.

Написал guusr, вчера, 10:47 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 75, Пользователи
Карма:
тебе ж писали... ты сути хака не понял... При чем тут похожие новости? :)

Написал BSoD, вчера, 10:49 плохой комментарий   -2   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Сори, затупил.....

неужели, правда? а я то думал я идиот делаю что-то не то.
Я же выводи похожие новости в сайдбар через jquery :) что собственно намного проще и лучше, чем предложенный способ. По аналогии выводятся и допполя.

Не все хорошо, что просто.
Лучше? опять "затупили" похоже. Прочитайте еще разок комментарий где я писал для чего я его делал, а потом прикиньте что и как bt

А что бы не тупить, надо было то внимательно прочесть пост или первые строки кода.

Написал a_lex, вчера, 11:22 плохой комментарий   0   хороший комментарий
Новостей: 23, комментариев: 232, Пользователи
Карма:
надо нормально хак называть, а не путать людям голову. Назвали бы "вывод дополнительного поля в любом месте страницы" - всем сразу было бы понятно.

Написал bolnavu, вчера, 11:04 плохой комментарий   -2   хороший комментарий
Новостей: 0, комментариев: 2, Пользователи
Карма:

Написал ПафНутиЙ, вчера, 11:33 плохой комментарий   0   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
Цитата: guusr
тебе ж писали... ты сути хака не понял... При чем тут похожие новости? :)

для jquery совершенно пофигу, что имеется на входе...

Цитата: BSoD
Не все хорошо, что просто.

Смысл грузить двиг тем, что можно с лёгкостью осуществить на стороне пользователя, даже IE6 от такой конструкции не напряжётся

<script type="text/JavaScript">
$(function($) {
    var relNews = $(".relatednews").remove();
    $("#relnews").prepend(relNews);   

});
</script>

Это по поводу сайта игромании..

Цитата: BSoD
Прочитайте еще разок комментарий где я писал для чего я его делал, а потом прикиньте что и как

Я прочитал ещё раз всё, в т.ч. код в аттаче, но так и не уловил сути хака. Это всё сделано для того, чтобы избавиться от одного запроса (после чего всё улетает в кеш)?


Написал guusr, вчера, 11:47 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 75, Пользователи
Карма:
вот есть у тебя текст "блаблабла", тебе его допустим нужно вывести в футере страницы, в определенной новости. Для этого и нужен данный хак.

Написал ПафНутиЙ, вчера, 11:56 плохой комментарий   0   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
Ну а я что написал?
<script type="text/JavaScript">
$(function($) {
    var relNews = $(".relatednews").remove();
    $("#relnews").prepend(relNews);  
;
});
</script>

Вписываем этот текст в допполе новости, а потом jquey "перемещает его" Другой вопрос, если это нужно поисковикам......
Тогда всё понятно и встаёт на свои места. Надо было просто дописать, что выводится доп поле при просмотре новости, а то половина коментаторов тут поняли как "на главной". В итоге развели флуд ни очём.

Написал BSoD, вчера, 11:52 плохой комментарий   +1   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Я прочитал ещё раз всё, в т.ч. код в аттаче, но так и не уловил сути хака. Это всё сделано для того, чтобы избавиться от одного запроса (после чего всё улетает в кеш)?

Ужас..я тихо плачу.. вы понимаете что нельзя сделать запрос кустомом только в доп поле? Вы понимаете что посещаемость может быть 10000+ ? знаете что этот один запрос сделает при такой посещаемости? А знаете что у поисковой машины нету скриптов, и вся ваша красота без скриптов будет в жопе? А знаете как будет работать нетбук или пенек 4 когда вы манипулируете целыми блоками на странице и еще работает тонна скриптов? Вот когда узнаете, тогда вы поймете все.

Написал a_lex, вчера, 11:53 плохой комментарий   0   хороший комментарий
Новостей: 23, комментариев: 232, Пользователи
Карма:
А знаете как будет работать нетбук или пенек 4 когда вы манипулируете целыми блоками на странице

отлично будет работать даже на браузере телефона.

Написал BSoD, вчера, 11:56 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Ошибаетесь.

Написал a_lex, вчера, 11:59 плохой комментарий   0   хороший комментарий
Новостей: 23, комментариев: 232, Пользователи
Карма:
что же по вашему любое выпадающее меню или слайдер неприемлемы? а там ведь тоже идет "манипулирование блоками на странице"

Написал BSoD, вчера, 12:03 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Под блоками я имел виду не мелочь, а серьезные и увесистые блоки. В любом случае выше все сказано.

Написал ПафНутиЙ, вчера, 12:11 плохой комментарий   0   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
знаете что этот один запрос сделает при такой посещаемости?

ничего страшного он не сделает, если будет в кеше, если адекватный сервер будет.
А знаете как будет работать нетбук или пенек 4 когда вы манипулируете целыми блоками на странице и еще работает тонна скриптов?

Ничего страшного не произойдёт, от перемещения одного блока, одноклассники же тянет. а там гораздо больше скриптов....
Но суть хака я понял только после этого комента:
Цитата: guusr
вот есть у тебя текст "блаблабла", тебе его допустим нужно вывести в футере страницы,

надо было сразу так написать. Поставил плюс в репу.

Написал BSoD, вчера, 12:16 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Дабы не разводить флуда еще на 20 комментариев. Скажу просто что у вас пока мало знания для адекватное оценки всех за и против.

Написал demon165, вчера, 12:37 плохой комментарий   0   хороший комментарий
Новостей: 9, комментариев: 99, Пользователи
Карма: -1±
а у тебя достаточно знаний?я вижу нет ag ,ты сделал бесполезный хак для всех,тут уже перечислили возможности самого скрипта и как их использовать,я могу добавить только к всеобщим мнениям метод подключения:
includeблок.tpl что гораздо удобнее и безопасней чем у тебя,и не надо изобретать велосипед для конструкций и изменений кода движка

Написал BSoD, вчера, 12:47 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Начнем с того что Я вообще нечего не подключаю. У меня достаточно знаний, не переживайте. Как можно было заметить большая часть мнения была ошибочка, так как не была понята суть. Сделайте при помощи includeблок.tpl (НЕ изменяя код движка) то что сделал я хаком и я заплачу 100$

Написал ПафНутиЙ, вчера, 12:49 плохой комментарий   0   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
Цитата: BSoD
Дабы не разводить флуда еще на 20 комментариев. Скажу просто что у вас пока мало знания для адекватное оценки всех за и против.

Ну так просвятите общественнось, напишите статейку на эту тему, думаю многим (в т.ч. и мне) она будет полезна.
А вот по поводу include согласен, и при обновлении проблем не будет.

Написал BSoD, вчера, 12:56 плохой комментарий   +1   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
А вот по поводу include согласен, и при обновлении проблем не будет.

Он написал includeблок.tpl, а tpl обрабатывает шаблонизатор, а при помощи шаблонизатора не сделать того хака.

Ну так просвятите общественнось, напишите статейку на эту тему, думаю многим (в т.ч. и мне) она будет полезна.

Зачем я буду что-то писать? Все уже написано и не раз : http://www.google.ru/

Написал ПафНутиЙ, вчера, 13:27 плохой комментарий   0   хороший комментарий
Новостей: 22, комментариев: 265, Пользователи
Карма: 16±
Цитата: BSoD
Он написал includeблок.tpl, а tpl обрабатывает шаблонизатор, а при помощи шаблонизатора не сделать того хака.

include ......php

Написал Sander1, вчера, 13:37 плохой комментарий   0   хороший комментарий
Новостей: 23, комментариев: 199, Пользователи
Карма: 16±
Суть хака ясна, но все же мне больше нравится вариант пафнутия, на jQuery.
т.е. в fullstory.tpl пишем:
[xfgiven_linck_chest]
<script type="text/javascript">
$(function(){
    var linck_chest = $("#linck_chest").remove();
    $("#linck_chest_foot").prepend(linck_chest);
});
</script>
<div id="linck_chest">[xfvalue_linck_chest]</div>
[/xfgiven_linck_chest]

А в main.tpl в футере создаем контейнер с id="linck_chest_foot"
Получаем то же самое, только без правки движка. Как говорится и поисковики сыты и овцпосетители видят то что надо.

Ведь очень часто бывает, что человек хак поставит, потом забудет и про хак и как он назывался, потом обновляет dle и он потом удивляется, почему у него ничего не работает...
А в этом варианте все быстро и просто...

Написал BSoD, вчера, 13:45 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Получаем то же самое, только без правки движка. Как говорится и поисковики сыты и овцпосетители видят то что надо.

С каких пор поисковики стали исполнять скрипты на страницах? Яндекс так вообще еще пару лет не будет знать что такое скрипты на сайтах.

Написал Брупт, вчера, 13:52 плохой комментарий   0   хороший комментарий
Новостей: 4, комментариев: 90, Пользователи
Карма:
Главное, что ссылки будут индексироваться, а для пользователей отображаться внизу сайта )

А если, с правкой кода, то на мой взгляд лучше сделать так:

if ( $subaction == 'showfull' AND isset( $xfieldsdata['Название доп. поля'] ) ) $tpl->set( '{link}', $xfieldsdata['Название доп. поля'] );
else $tpl->set('{link}', '' );

Написал BSoD, вчера, 13:58 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
Главное, что ссылки будут индексироваться, а для пользователей отображаться внизу сайта )
Главное еще и то что они в низу для поисковиков будут.

А если, с правкой кода, то на мой взгляд лучше сделать так:

Не полностью согласен, я делал с расчетом под все ЧПУ, а ваш вариант будет работать только на одном из трех вариантов чпу, и в результате тег не обработается и будет в шаблоне тегом.

Написал Брупт, вчера, 14:04 плохой комментарий   0   хороший комментарий
Новостей: 4, комментариев: 90, Пользователи
Карма:
Внимательнее проанализируй код ) $subaction будет равняться 'showfull' всегда, когда, грузится полная новость, не зависимо от ЧПУ )

Если не полная новость, тег будет заменен на пустоту )

В этом варианте один минус ) Если в полной новости не вставлено ни одного тега доп. поля, массива $xfieldsdata не будет существовать )

Написал BSoD, вчера, 14:09 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
проглядел, бывает bk )

Написал n0wheremany, вчера, 14:53 плохой комментарий   0   хороший комментарий
Новостей: 2, комментариев: 21, Пользователи
Карма:
суть хака - вывести доп поля в main.tpl.

Кому это нужно и зачем - это пусть решает каждый.

по поводу кода вообще бред тут вы говорите

if ((isset($full_separator) and $_REQUEST['newsid']) or $_REQUEST['subaction'] ==
    'showfull') {


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

Написал BSoD, вчера, 15:14 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
if ($full_separator and $subaction == 'showfull') {

Так будет правильнее.

Написал Dark_Ghost, вчера, 15:14 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 15, Пользователи
Карма:

$tpl->set('{pole}',($xfieldsdata['pole'])?stripslash
es($xfieldsdata['pole']):'');

Написал BSoD, вчера, 15:17 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 72, Пользователи
Карма:
одна строка и счастье вот оно bm

Написал Брупт, вчера, 20:32 плохой комментарий   0   хороший комментарий
Новостей: 4, комментариев: 90, Пользователи
Карма:
В таком случае будет выводится на всех страницах где выводятся новости )

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

Нужно $subaction добавить )

Информация



Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Анализ Тиц и PR сайта

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed]