Предоставляем срочную помощь по DLE, пишем эксклюзивные модули для вашего проекта, парсеры грабберы, исправляем базу данных, удаляем вирусы редиректы, обновляем скрипты, помощь с переездом на другой хостинг, перенос домена, большой опыт работы с высоконагруженными проектами, защита ddos атаки, ботов и спама, оптимизация модулей и серверов дле, более 10 лет работы, тысячи модификаций и доработок, короткие сроки, дорого, качественно. telegram: @histoo

Глобальная модификация: Кастомизация ссылок

  1. Онлайн

    Grey

    Администраторы

    Сообщений: 2130

    Занимаясь редактирования шаблона вы могли заметить, что некоторые функции для генерации ссылок имеют захардкоденную часть.
    Попробуем отвязать их преобразуется в простые пути.

    В файле: engine/bullet_energy/classes/link.class.php

    Найти:
    
      public function cat_linck($id = '', $name = '')
      {
        if($this->cpu) {
          if($this->type) {
            $result = "<a href=\"{$this->root}{$this->router['main']}/{$this->router['tree']}{$id}{$this->endLinckSymbol}\">" ;
          } else {
            $result = "<a href=\"{$this->root}{$this->router['main']}/{$this->router['tree']}/{$id}-{$name}{$this->endLinckSymbol}\">" ;
          }
        } else {
          $result = "<a href=\"{$this->root}?do={$this->router['main']}&action=categories&id={$id}\">" ;
        }
        return $result ;
      }
      public function topic_linck($id = '', $name = '')
      {
        if($this->cpu) {
          if($this->type) {
            $result = "<a href=\"{$this->root}{$this->router['main']}/{$this->router['topic']}{$id}{$this->endLinckSymbol}\">" ;
          } else {
            $result = "<a href=\"{$this->root}{$this->router['main']}/{$this->router['topic']}/{$id}-{$name}{$this->endLinckSymbol}\">" ;
          }
        } else {
          $result = "<a href=\"{$this->root}?do={$this->router['main']}&action=showtopic&id={$id}\">" ;
        }
        return $result ;
      }
    


    Заменить на:
    
      public function cat_linck($id = '', $name = '', $micro = false)
      {
        if($this->cpu) {
          if($this->type) {
            $result = "{$this->root}{$this->router['main']}/{$this->router['tree']}{$id}{$this->endLinckSymbol}" ;
          } else {
            $result = "{$this->root}{$this->router['main']}/{$this->router['tree']}/{$id}-{$name}{$this->endLinckSymbol}" ;
          }
        } else {
          $result = "{$this->root}?do={$this->router['main']}&action=categories&id={$id}" ;
        }
        return $result ;
      }
      public function topic_linck($id = '', $name = '')
      {
        if($this->cpu) {
          if($this->type) {
            $result = "{$this->root}{$this->router['main']}/{$this->router['topic']}{$id}{$this->endLinckSymbol}" ;
          } else {
            $result = "{$this->root}{$this->router['main']}/{$this->router['topic']}/{$id}-{$name}{$this->endLinckSymbol}" ;
          }
        } else {
          $result = "{$this->root}?do={$this->router['main']}&action=showtopic&id={$id}" ;
        }
        return $result ;
      }
    


    Далее в следующих файлах произвести примерные изменения:
    Глобальная модификация: Упрощение кастомизации ссылок


    Найти:
    
    parent::$tpl->set('[linckTopic]', parent::$link->topic_linck($row['id_topic'], totranslit($row['title'], true, true))) ;
    

    Заменить на:
    
    parent::$tpl->set('[linckTopic]', '<a href="'.parent::$link->topic_linck($row['id_topic'], totranslit($row['title'], true, true)).'">') ;
    

    Искать совпадения по фразам: cat_linck, topic_linck

    Данная модификация позволяет организовать более гибкие возможности по оформлению ссылок на топики и категории и многое другое.

    Пример:
    
    parent::$tpl->set('[linckTopic]', '<a class="no_linck" href="'.parent::$link->topic_linck($row['id_topic'], totranslit($row['title'], true, true)).'">') ;
    

    Вложения:

    1. global_mod_cat_links.txt

      Размер файла:
      3,15 Kb
      Скачиваний:
      945

    сделаю любой модуль dle на заказ, если вам нужны услуги по dle
    скaйп rdn-team.com
    телегрaм @histoo

    25 сентября 2013 - 04:08 / #1
  2. Оффлайн

    skylab-spb

    Посетители

    Сообщений: 9

    >Далее в следующих файлах произвести примерные изменения:

    В каких файлах, изображение удалено
    5 сентября 2017 - 07:06 / #2
  3. Онлайн

    Grey

    Администраторы

    Сообщений: 2130

    skylab-spb,
    во всех файлах где используется функция cat_linck, topic_linck

    эта модификация уже включена в rev 2016, если используете её то ничего делать не нужно.

    сделаю любой модуль dle на заказ, если вам нужны услуги по dle
    скaйп rdn-team.com
    телегрaм @histoo

    5 сентября 2017 - 08:47 / #3
Модераторы форума: greyPowered by Bullet Energy Forum