Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Авто заполнение поля "Облако тегов" из дополнительного поля

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


     25.03.2014    облако, тегов, дополнительного, поля    Все вопросы » Общие вопросы по PHP    1929

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

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


7 комментариев

vitnet
Эксперт

vitnet - 25 марта 2014 11:27 -

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

vitnet
Эксперт

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
Юзер

Spaik - 29 марта 2014 19:56 -

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

vitnet
Эксперт

vitnet - 29 марта 2014 20:10 -

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

wulv
Юзер

wulv - 31 марта 2014 21:29 -

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

vitnet
Эксперт

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
Юзер

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

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

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

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

наверх