Перейти к публикации

Рекомендованные сообщения

Здравствуйте, мне нужно был тег который выводит текст если мы находимся на определенной новости. И этот тег должен работать глобально по всему сайту. Это мне нужно для меню на сайте, что бы подсветить его.

 

Можно сделать плагином, я тут выложу код, а тот кто в теме сможет сделать плагином.

 

Открыть файл engine/modules/functions.php

Найти строку:

function check_category( $matches=array() ) {

Добавить выше:

function check_post($matches=array()) 
{
    $block = $matches[3];
    $newsid = !empty($_GET['newsid']) ? $_GET['newsid'] : 0;
    
    $temp_array = array();

    $matches[2] = str_replace(" ", "", $matches[2] );
    $matches[2] = explode (',', $matches[2]);

    foreach ($matches[2] as $value) {
        if( count(explode('-', $value)) == 2 ) $temp_array[] = get_mass_cats($value);
        else $temp_array[] = intval($value);
    }

    $temp_array = implode(',', $temp_array);

    if ($matches[1] == "post") $action = true; else $action = false;

    $cats = explode( ',', $temp_array );

    $found = false;
    
    if ($action) {
        if (in_array($newsid, $cats)) {
            return $block;
        }
    } else {
        if (in_array($newsid, $cats)) {
            $found = true;
        }
    }
    
    if (!$action AND !$found) {
        return $block;
    }

    return "";
}

Открыть файл engine/classes/templates.class.php

Найти строку

if (strpos ( $this->template, "[group=" ) !== false OR strpos ( $this->template, "[not-group=" ) !== false) {

Добавить выше

if (stripos ( $this->template, "[post=" ) !== false) {
	$this->template = preg_replace_callback ( "#\\[(post)=(.+?)\\](.*?)\\[/post\\]#is", "check_post", $this->template );
}

if (stripos ( $this->template, "[not-post=" ) !== false) {
	$this->template = preg_replace_callback ( "#\\[(not-post)=(.+?)\\](.*?)\\[/not-post\\]#is", "check_post", $this->template );
}

Вот в принцепе и все. Надеюсь разработчики CMS DLE добавят этот тег в новых update движка!

Ссылка на сообщение
Поделиться на других сайтах

Чувак, я тебя поздравляю. ты только что изобрел велосипед

 

[news=1,2,3] текст [/news]

Выводят заключенный в них текст, если посетитель просматривает полную новость указанных в параметре тега новостей, где 1,2,3 это ID новостей.

[not-news=1,2,3] текст [/not-news]

Выводит текст на любых других страницах кроме просмотра указанных в теге новостей.

Ссылка на сообщение
Поделиться на других сайтах
16 минут назад, alex32 сказал:

Чувак, я тебя поздравляю. ты только что изобрел велосипед

 

[news=1,2,3] текст [/news]

Выводят заключенный в них текст, если посетитель просматривает полную новость указанных в параметре тега новостей, где 1,2,3 это ID новостей.

[not-news=1,2,3] текст [/not-news]

Выводит текст на любых других страницах кроме просмотра указанных в теге новостей.

Хм, а я ищу ищу, я не там смотрел получаеться в документации 🙂 Велосипеды тоже полезно создавать. 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...