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

Модуль «Карта сайта» для пользователей


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

Друзья!

 

Нужна совсем незначительная помощь от тех кто разбирается в PHP!

 

Есть замечательный модуль от АлаичЪ'а «Карта сайта» для пользователей! 


Ставится на все версии современного движка DLE и без особых сложностей выводит карту сайта для пользователей – список категорий и новостей, которые находятся в них.

 

В моем случае нужны лишь списки категорий и вложенных подкатегорий - соответственно! Сам не разбираюсь в PHP, обратился к разработчику модуля, но человек занят и уже давно не занимается своими творениями, хотя и сказал, что любой кто шарит в PHP сможет удалить код, который отвечает за вывод СТАТЕЙ в «карте сайта»! Может кто то уже делал это или есть те, кому не составит труда разобраться в этом.

 

P.S. Если вдруг разработчики DLE увидят эту тему – Хотелось бы пожелать, что бы вы включили данный модуль к себе в сборку, весьма полезный инструмент, когда много сайтов и много каталогов, как у нас на портале! Руками это крайне сложно!

 

Заранее всем огромное спасибо!

 

Выручите друзья, очень нужна ваша помощь!


Ссылка на мой сайт: SPR.krasnogorsk.name
Ссылка на модуль: http://alaev.info/blog/post/1974
 

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

Код весь прокомментирован, даже если не разбираетесь в php то можно удалить

        /*
         * Метод для отображения всех статей в данной категории
         * @param $cat - массив в информацией о категории - необходим для выяснения параметров сортировки статей
         * @return string
         */
        public function show_cat_items($cat)
        {
            // id категории
            $cat_id = intval($cat['id']);
            
            // В переменную $items_html будем класть складывать результаты для вывода
            $items_html ='';
            
            // Получаем все статьи из данной категории
            $items = $this->take_cat_items($cat);

            if($items)
            {
                // Открываем блок
                $items_html = '<ul class="sitemap_items'.(($cat_id == 0)?' root':'').'">';

                // Перебираем все статьи
                foreach($items as $item)
                {
                    $items_html .= '<li'.(($cat_id == 0)?' class="root"':'').'>';
                    $items_html .= '<a href="'.$this->getPostUrl($item).'">'.stripslashes($item['title']).'</a>';
                    $items_html .= '</li>';
                }

                // Закрываем блок
                $items_html .= '</ul>';
            }

            // Возвращаем результат
            return $items_html;
        }

 

Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, germanydletest сказал:

Код весь прокомментирован, даже если не разбираетесь в php то можно удалить


        /*
         * Метод для отображения всех статей в данной категории
         * @param $cat - массив в информацией о категории - необходим для выяснения параметров сортировки статей
         * @return string
         */
        public function show_cat_items($cat)
        {
            // id категории
            $cat_id = intval($cat['id']);
            
            // В переменную $items_html будем класть складывать результаты для вывода
            $items_html ='';
            
            // Получаем все статьи из данной категории
            $items = $this->take_cat_items($cat);

            if($items)
            {
                // Открываем блок
                $items_html = '<ul class="sitemap_items'.(($cat_id == 0)?' root':'').'">';

                // Перебираем все статьи
                foreach($items as $item)
                {
                    $items_html .= '<li'.(($cat_id == 0)?' class="root"':'').'>';
                    $items_html .= '<a href="'.$this->getPostUrl($item).'">'.stripslashes($item['title']).'</a>';
                    $items_html .= '</li>';
                }

                // Закрываем блок
                $items_html .= '</ul>';
            }

            // Возвращаем результат
            return $items_html;
        }

 

Видимо у нас еще старая версия модуля была. Скачали последнюю версию, да, там все помечено! Огромное спасибо. Все получилось. Остается понять как его оформить до вида:

<ul>
<li>Категория МАМА</li>
<ul>
<li>Дочка-1</li>
<li>Дочка-2</li>

</ul><hr></ul>

 

<ul>
<li>Категория Папа</li>
<ul>
<li>Сынка-1</li>
<li>Сынка-2</li>

</ul>

</ul>


Не знаете случаем где это нужно прописать? 0=)

Изменено пользователем DeMoN13
Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, DeMoN13 сказал:

Не знаете случаем где это нужно прописать?

тут

        /*
         * Метод для отображения всех подкатегорий в данной категории
         * @param $parent_id - идентификатор категории-родителя
         * @return string
         */
        public function show_cats($parent_id)
        {
            // В переменную $cats_html будем класть складывать результаты для вывода
            $cats_html = '';

            // Получаем все подкатегории данной категории
            $cats = $this->take_cats($parent_id);

            if($cats)
            {
                // Открываем блок
                $cats_html = '<ul class="sitemap_categories'.(($parent_id == 0)?' root':'').'">';

                // Перебираем все категории из массива категорий
                foreach($cats as $cat)
                {
                    // Открываем блок категории
                    $cats_html .= '<li'.(($parent_id == 0)?' class="root"':'').'>';

                    // Если установлен параметр cats_as_links, показываем ссылку на категорию, если нет - просто текстовое наименование
                    if($this->sitemap_config['cats_as_links'])
                    {
                        $cats_html .= '<a href="'.$this->create_cat_url($cat).'">'.stripslashes($cat['name']).'</a>';
                    }
                    else
                    {
                        $cats_html .= '<span>'.stripslashes($cat['name']).'</span>';
                    }
                    

                    // Выводим статьи из категории
                    $cats_html .= $this->show_cat_items($cat);

                    // Выводим подкатегории
                    $cats_html .= $this->show_cats($cat['id']);

                    // Закрываем блок
                    $cats_html .= '</li>';
                }

                // Закрываем блок
                $cats_html .= '</ul>';
            }
            
            // Возвращаем результат
            return $cats_html;
        }

 

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
В 29.05.2016 в 14:15, germanydletest сказал:

тут


        /*
         * Метод для отображения всех подкатегорий в данной категории
         * @param $parent_id - идентификатор категории-родителя
         * @return string
         */
        public function show_cats($parent_id)
        {
            // В переменную $cats_html будем класть складывать результаты для вывода
            $cats_html = '';

            // Получаем все подкатегории данной категории
            $cats = $this->take_cats($parent_id);

            if($cats)
            {
                // Открываем блок
                $cats_html = '<ul class="sitemap_categories'.(($parent_id == 0)?' root':'').'">';

                // Перебираем все категории из массива категорий
                foreach($cats as $cat)
                {
                    // Открываем блок категории
                    $cats_html .= '<li'.(($parent_id == 0)?' class="root"':'').'>';

                    // Если установлен параметр cats_as_links, показываем ссылку на категорию, если нет - просто текстовое наименование
                    if($this->sitemap_config['cats_as_links'])
                    {
                        $cats_html .= '<a href="'.$this->create_cat_url($cat).'">'.stripslashes($cat['name']).'</a>';
                    }
                    else
                    {
                        $cats_html .= '<span>'.stripslashes($cat['name']).'</span>';
                    }
                    

                    // Выводим статьи из категории
                    $cats_html .= $this->show_cat_items($cat);

                    // Выводим подкатегории
                    $cats_html .= $this->show_cats($cat['id']);

                    // Закрываем блок
                    $cats_html .= '</li>';
                }

                // Закрываем блок
                $cats_html .= '</ul>';
            }
            
            // Возвращаем результат
            return $cats_html;
        }

 

Будем думать! Спасибо.

 

В 30.05.2016 в 06:11, trubie сказал:

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

Это к чему?

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

а там же параметры передавать можно. Так попробовать можно:

{include file="engine/modules/sitemap.php?show_static=0&news_limit=0&cats_as_links=1}

отображать в карте статические страницы - нет

максимальное количество выводимых статей из категории  - 0

показывать названия категорий как ссылки - да
 

Ссылка на сообщение
Поделиться на других сайтах
В 08.06.2016 в 19:03, alex32 сказал:

а там же параметры передавать можно. Так попробовать можно:


{include file="engine/modules/sitemap.php?show_static=0&news_limit=0&cats_as_links=1}

отображать в карте статические страницы - нет

максимальное количество выводимых статей из категории  - 0

показывать названия категорий как ссылки - да
 

Вот в этом то и проблема, что не получается стандартными средствами отключить! Поэтому и сюда написали.

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

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

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

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

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

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

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

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

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

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