loading...

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

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

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

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

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


Отблагодарили: fargus1, pavel31, karev, MeHMeT, arashvg

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

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

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

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

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

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

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

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

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

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

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

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

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

Написал ПафНутиЙ, 5 марта 2011 в 09:57 плохой комментарий   +2   хороший комментарий
Новостей: 26, комментариев: 330, Пользователи
Карма: 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, 5 марта 2011 в 10:13 плохой комментарий   -3   хороший комментарий
Новостей: 6, комментариев: 94, Изгнанные
Карма:
Два вам, зрите в корень (в код) читайте пост и прочтите комментарии, подумайте где же я все таки и что вывожу.

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

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

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

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

Написал ПафНутиЙ, 5 марта 2011 в 10:23 плохой комментарий   0   хороший комментарий
Новостей: 26, комментариев: 330, Пользователи
Карма: 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, 5 марта 2011 в 10:29 плохой комментарий   -1   хороший комментарий
Новостей: 6, комментариев: 94, Изгнанные
Карма:
И всё это суём в нужное место! ВСЁ!

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

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

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

Написал BSoD, 5 марта 2011 в 10:49 плохой комментарий   -2   хороший комментарий
Новостей: 6, комментариев: 94, Изгнанные
Карма:
Сори, затупил.....

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

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

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

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

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

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

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

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

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

});
</script>

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

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

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


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

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

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

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

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

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

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

Написал BSoD, 5 марта 2011 в 11:56 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 94, Изгнанные
Карма:
Ошибаетесь.

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

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

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

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

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

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

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

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

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

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

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

Написал BSoD, 5 марта 2011 в 12:56 плохой комментарий   +1   хороший комментарий
Новостей: 6, комментариев: 94, Изгнанные
Карма:
А вот по поводу include согласен, и при обновлении проблем не будет.

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

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

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

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

include ......php

Написал Sander1, 5 марта 2011 в 13:37 плохой комментарий   0   хороший комментарий
Новостей: 38, комментариев: 314, Пользователи
Карма: 21±
Суть хака ясна, но все же мне больше нравится вариант пафнутия, на 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, 5 марта 2011 в 13:45 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 94, Изгнанные
Карма:
Получаем то же самое, только без правки движка. Как говорится и поисковики сыты и овцпосетители видят то что надо.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Написал BSoD, 5 марта 2011 в 15:14 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 94, Изгнанные
Карма:
if ($full_separator and $subaction == 'showfull') {

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

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

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

Написал BSoD, 5 марта 2011 в 15:17 плохой комментарий   0   хороший комментарий
Новостей: 6, комментариев: 94, Изгнанные
Карма:
одна строка и счастье вот оно bm

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

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

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

Написал Xixox, 11 марта 2011 в 16:37 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 3, Пользователи
Карма:
Как сделать вывод новостей по алфавиту, но чтобы поиск проводился не по title, а по определенному дополнительному полю, например novosti ?

Написал acelote, 19 марта 2011 в 01:51 плохой комментарий   0   хороший комментарий
Новостей: 1, комментариев: 70, Пользователи
Карма:
****удалено автором*****

Написал MGlass, 20 мая 2011 в 19:35 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 5, Пользователи
Карма:
4 мда

Написал Barsik, 7 июня 2011 в 23:30 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 1, Пользователи
Карма:
Подскажите пожалуйста, а этот хак можно использовать как-нибудь для вывода текста из дополнительных полей вместо заголовка и краткой новости в модулях (rss, topnews и т.д.) ? В двуязычном сайте, где языки - через дополнительные поля, на двух движках с общей базой.

Написал ares-arman, 9 июня 2011 в 19:11 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 1, Пользователи
Карма:
Классная вещь , пока не ставил но для seo-шников очень полезная.
Тут были споры насчет логики модуля, так он правильно работает или нет ???

Написал arashvg, 1 июля 2011 в 11:29 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 4, Пользователи
Карма:
Здравствуйте, спасибо за хак, мне помог, но встала другая проблема, может атор подскажет! Как вывести таким же спопособ дополнительные поля не нововсти, а из профиля автора новости? тоесть я содал доп-поле при регистрации, и мне например в файл main.tpl и fullstory.tpl нужно эту информацию вывести.зарание благодарен за помощь!

Ктсати автор как с вами связатся?

Написал warrior, 1 июля 2011 в 13:33 плохой комментарий   0   хороший комментарий
Новостей: 2, комментариев: 75, Пользователи
Карма:
В Вашем случае надо изменять запрос на получение новости.

Написал arashvg, 5 июля 2011 в 13:06 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 4, Пользователи
Карма:
Цитата: warrior
В Вашем случае надо изменять запрос на получение новости.

а можно поподробней? честно говоря я в этом полный 0

Написал valet, 13 декабря 2011 в 07:54 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 1, Пользователи
Карма:
Цитата: Брупт
if ( $subaction == 'showfull' AND isset( $xfieldsdata['Название доп. поля'] ) ) $tpl->set( '{link}', $xfieldsdata['Название доп. поля'] );
else $tpl->set('{link}', '' );

Еще бы написал где именно это вставлять - было бы вообще супер.

Написал Palad1n, 13 августа 2012 в 15:21 плохой комментарий   +1   хороший комментарий
Новостей: 0, комментариев: 4, Пользователи
Карма:
BSoD, хак отличный. Долбанам его не понять. Не утруждайте себя отвечать каждому, пусть сами догоняют.

Информация



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

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