Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Как изменить вывод "Перекрестных полей"?

Как изменить вывод "Перекрестных полей"?


     02.11.2015    Хаки    554

вопрос
В дополнительном поле есть строка типа "раз, два, три"

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

Вопрос как мне каждое слово по отдельности обрамить нужными мне HTML тегами?

если бы там было одно слово, то все понятно , а как Кастомизировать "Использовать значения полей как перекрестные гиперссылки" для отдельно взятого поля прописав нужные HTML теги??

в engine.php есть строчка
$url_page = $config['http_home_url'] . "xfsearch/" . urlencode ( str_replace("'", "'", $xf) );

а мне нужно как то добавить проверку еще имени поля, и дополнить эту строчку на мой HTML код?

Ответа пока нет


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

vitnet
218

2174 | 930

vitnet - 2 ноября 2015 21:29 - Эксперт

Вам не в engine.php нужно делать правки а в show.short.php / show.full.php

ventopt
6

ventopt - 2 ноября 2015 22:45 - Юзер

я уже понял что не там смотрел, может подскажете как там создать условие зная имя поля?

vitnet
218

2174 | 930

vitnet - 2 ноября 2015 23:39 - Эксперт

Элементарно
                        ...
                        ...

                        $value2 = trim($value2);
                        $value2 = str_replace("'", "'", $value2);

                        if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . ($value[0] == 'test' ? '1' : ($value[0] == 'test2' ? '2' : '')) . $value2 . "</a>";
                        ...
                        ...

ventopt
6

ventopt - 3 ноября 2015 09:22 - Юзер

Элементарно не получилось. добавил код show.short.php / show.full.php

но сайт продолжает генерить по умолчанию для перекрестных полей ссылки вида

<a href="http://site.ru/xfsearch/1234/">5678</a>, <a href="http://site.ru/xfsearch/5678/">5678</a>,

Попробовал вообще удалить код из
modules\show.short.php
modules\show.full.php
modules\show.custom.php
modules\topnews.php

    if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";
                        else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";

в общем везде где нашел, но не хрена не сработало ;) ссылки как генерятся так и генерятся...

а мне нужно для определенного поля <a href="http://site.ru/xfsearch/1234/" #ДОБАВИТЬ СЮДА МОЮ ЧАСТЬ#>5678</a>, <a href="http://site.ru/xfsearch/5678/" #ДОБАВИТЬ СЮДА МОЮ ЧАСТЬ#>5678</a>,


vitnet
218

2174 | 930

vitnet - 3 ноября 2015 09:31 - Эксперт

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

Смотреть ниже:
            $xfieldsdata = xfieldsdataload( $row['xfields'] );

ventopt
6

ventopt - 3 ноября 2015 23:27 - Юзер

Спасибо, очень помогли. нужный код был ниже в show.full.php
фильтрацию полей сделал через добавление условия, понимаю, что не красиво но главное работает :)

if (( $config['allow_alt_url'] ) and ($value[0] == 'actors')) $value3[] = "....
elseif ( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";                        
else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";

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

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