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

Авто заполнение поля "Облако тегов" из дополнительного поля


     25.03.2014    Общие вопросы по PHP    1632

вопрос
Какие нужно произвести изменения в файле "/engine/modules/show.full.php" или в другом, что бы при добавлении новости в поле "Облако тегов" добавлялись теги из нескольких дополнительных полей.

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


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

vitnet
218

2171 | 930

vitnet - 25 марта 2014 11:27 - Эксперт

Вот похожий вопрос, из него и можно собрать

vitnet
218

2171 | 930

vitnet - 25 марта 2014 23:21 - Эксперт

engine/modules/addnews.php
найти
        $category = $catlist;
        include (ENGINE_DIR . '/inc/xfields.php');

добавить ниже
        $arr_tag = explode( " ", $postedxfields['tags'] ); // tags <-- имя доп. поля, меняем на нужное (! должно присутствовать)
        $str_tag = "";

        foreach ( $arr_tag as $value ) {
            preg_match('/[a-zA-Zа-яА-Я]{4,}/', trim($value), $key);
            if ($key[0]) {
                $str_tag .= ($key[0] . ', ');
            }
        }
        $_POST['tags'] = substr(rtrim($str_tag, ", "), 0, strlen($str_tag) -1);
Готово!

Spaik
1

Spaik - 29 марта 2014 19:56 - Юзер

Заменить нужно только в первой строке то что выделено?
$xfieldtags['tags'] = array(); // tags <-- имя доп. поля, меняем на нужное (! должно присутствовать)

vitnet
218

2171 | 930

vitnet - 29 марта 2014 20:10 - Эксперт

Да, добавил другой вариант

wulv
131 | 49

wulv - 31 марта 2014 21:29 - Юзер

а если несколько доп.полей?

vitnet
218

2171 | 930

vitnet - 25 апреля 2014 00:45 - Эксперт

        $new_tag = $postedxfields['test'] . $postedxfields['test-2']; // test, test-2 <-- имя доп. поля, меняем на свое ( должны присутствовать )
        $arr_tag = explode( " ", $new_tag );
        $str_tag = "";

        foreach ( $arr_tag as $value ) {
            preg_match('/[a-zA-Zа-яА-Я]{4,}/', trim($value), $key);
            if( $key[0] ) {
                $str_tag .= ($key[0] . ', ');
            }
        }
        $_POST['tags'] = substr(rtrim($str_tag, ", "), 0, strlen($str_tag) -1);

MegaBoBeR
36 | 16

MegaBoBeR - 25 апреля 2014 03:33 - Юзер

На 10.2 не работает.

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

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