Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вывод доп поля в title [dle]

Тема в разделе "Вопросы- ответы", создана пользователем mspetc, 12 май 2016.

12.05.16 в 21:47
20.03.19 в 09:57
28
7.632
0
  1. Uralbox

    Команда форума VIP Кинотрафик v2

    Регистрация:
    25 окт 2015
    Сообщения:
    1.593
    Лучших ответов:
    0
    Рейтинги:
    +184 / 5 / -0
    а как такое реализовать на dle 13.2? мб PunPun сможет помочь?
    Есть такой код
    Код:
    Найти:
    if (stripos ( $tpl->result['content'], "[hide" ) !== false ) {
    
    Добавить выше:
            $simple_meta = array('title');
            foreach ($simple_meta as $key) {
                if (preg_match("#\[({$key})\](.*?)\[/\\1\]\s*#is", $tpl->result['content'], $meta_found)) {
                    if ($key == 'title' && $metatags['header_title']) {
                    } else {
                        $key = str_replace('title', 'header_title', $key);
                        $meta_found[2] = preg_replace("#\s{2,}#s", " ", $meta_found[2]);
                        $metatags[$key] = trim(strip_tags($meta_found[2]));
                    }
                    $tpl->result['content'] = str_replace($meta_found[0], "", $tpl->result['content']);
                }
            }
    Замена в engine/modules/show.full.php

    Но косяк в отображении символов, каждый последний символ русского слова имеет вид - ?, те например тайтл выводится так - Смотрет? онлай? breaking bad бесплатн?
     
  2. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.299
    Лучших ответов:
    31
    Рейтинги:
    +3.898 / 96 / -0
    PHP:
    preg_match("#\[({$key})\](.*?)\[/\\1\]\s*#uis"
     
  3. Uralbox

    Команда форума VIP Кинотрафик v2

    Регистрация:
    25 окт 2015
    Сообщения:
    1.593
    Лучших ответов:
    0
    Рейтинги:
    +184 / 5 / -0
    а можно код полностью пожалуйста, чтобы я случайно не сделал не то)
     
  4. Uralbox

    Команда форума VIP Кинотрафик v2

    Регистрация:
    25 окт 2015
    Сообщения:
    1.593
    Лучших ответов:
    0
    Рейтинги:
    +184 / 5 / -0
    Если
    preg_match("#\[({$key})\](.*?)\[/\\1\]\s*#is"
    заменить на
    preg_match("#\[({$key})\](.*?)\[/\\1\]\s*#uis"

    То ничего не мяняется, в конце слова всё те же кракозябры!
     
  5. Uralbox

    Команда форума VIP Кинотрафик v2

    Регистрация:
    25 окт 2015
    Сообщения:
    1.593
    Лучших ответов:
    0
    Рейтинги:
    +184 / 5 / -0
    DLEPlugins может вы сможете помочь?
     
  6. DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.195 / 9 / -0
    что этот код делает я не пойму.
    PHP:
    $simple_meta = array('title');
    создается массив из 1 значения, а ниже foreach, зачем?
    Код:
    if ($key == 'title' && $metatags['header_title']) {
                    }
    если ключ это title то >пусто<, зачем этот код?
    Откуда взяли и его цель?
     
  7. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.299
    Лучших ответов:
    31
    Рейтинги:
    +3.898 / 96 / -0
    1. Возможно вводятся правки через блокнот, нужно использовать минимально Notepad++
    2. Файл в другой кодировке чем сам сайт.
     
  8. Uralbox

    Команда форума VIP Кинотрафик v2

    Регистрация:
    25 окт 2015
    Сообщения:
    1.593
    Лучших ответов:
    0
    Рейтинги:
    +184 / 5 / -0
    Вот весь код:
    Замена в engine/modules/show.full.php

    Найти:
    if (stripos ( $tpl->result['content'], "[hide" ) !== false ) {

    Добавить выше:
    $simple_meta = array('title');
    foreach ($simple_meta as $key) {
    if (preg_match("#\[({$key})\](.*?)\[/\\1\]\s*#is", $tpl->result['content'], $meta_found)) {
    if ($key == 'title' && $metatags['header_title']) {
    } else {
    $key = str_replace('title', 'header_title', $key);
    $meta_found[2] = preg_replace("#\s{2,}#s", " ", $meta_found[2]);
    $metatags[$key] = trim(strip_tags($meta_found[2]));
    }
    $tpl->result['content'] = str_replace($meta_found[0], "", $tpl->result['content']);
    }
    }

    Что делает этот код? - Даёт возможность вывода в шаблоне fullstory.tpl выводить тайтл по своему.
    Например. [title]Смотреть {title} [xfvalue_year] онлайн[/title]

    На выходе к примеру будет так: Смотреть Форсаж 5 2011 онлайн
     
  9. Uralbox

    Команда форума VIP Кинотрафик v2

    Регистрация:
    25 окт 2015
    Сообщения:
    1.593
    Лучших ответов:
    0
    Рейтинги:
    +184 / 5 / -0
    Помогите решить проблему ;)
     
Яндекс.Метрика