Доброй ночи, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 SX CMS / Техническая помощь
         Отображение новостей в левой колонке.

Похожие темы

Отображение новостей в левой колонке.


События Вторник, 08.12.2009, 13:06

Yulo

Группа: Пользователь
Ранг: Продвинутый
Cообщений: 241
Регистрация: 26.10.2009
Город: Тюмень
Можно ли так сделать и как это отобразиться на производительности сайта и вообще это технически правильно?

Вставил в класс news внизу. Взял из галереии этот код для отображения тэгов
PHP-код
function getTagCloud($categ='') {
        
$tags = '';
        
$where = ($categ!='') ? "SELECT Tags FROM " . PREFIX . "_galerie WHERE Kategorie = '" . $categ . "'" : "SELECT Tags FROM " . PREFIX . "_galerie_kategorien WHERE Aktiv='1' AND  Sektion = '" . $_SESSION['area'] . "'";
        
$where_m = ($categ!='') ? "FROM " . PREFIX . "_galerie WHERE  Kategorie = '" . $categ . "'" : "FROM " . PREFIX . "_galerie_kategorien WHERE Aktiv='1' AND  Sektion = '" . $_SESSION['area'] . "'";
        
$query = $GLOBALS['db']->Query($where);
        while(
$row = $query->fetchrow()) {
            
$tags .= $row->Tags . ',';
        }
        
$tagss = array_unique(explode(',',$tags));
        @
sort($tagss);
        
$cloud = array();
        foreach(
$tagss as $key => $val) {
            
$obj = '';
            if(
$val) {
                
$obj->Name = $val;
                
$res = $GLOBALS['db']->RowQuery("SELECT COUNT(Id) AS GalCount $where_m AND (Tags LIKE '%{$obj->Name}%' OR Tags LIKE '{$obj->Name},%' OR Tags LIKE '%,{$obj->Name}' )");
                
$obj->GCount = $res->GalCount;
                switch(
$obj->GCount) {
                    case (
$obj->GCount <= 1): $obj->Class = 'tagcloud1'; break;
                    case (
$obj->GCount == 2): $obj->Class = 'tagcloud2'; break;
                    case (
$obj->GCount == 3): $obj->Class = 'tagcloud3'; break;
                    case (
$obj->GCount >= 4): $obj->Class = 'tagcloud4'; break;
                }
                
array_push($cloud, $obj);
            }
        }
        return 
$cloud;
    }


Дальше я вставил в function displayNews
PHP-код
$GLOBALS['tmpl']->assign('tagCloud', $this->getTagCloud());

и в

PHP-код

if($archive==1) {
                
$GLOBALS['tmpl']->assign('headernav', $GLOBALS['config_vars']['Newsarchive']);
                
setMeta($GLOBALS['config_vars']['Newsarchive'],$GLOBALS['config_vars']['Newsarchive']);
                
$GLOBALS['tmpl']->assign('tagCloud', $this-> getTagCloud());
            }


Сделал это для того чтоб при переходе на Новости и при их чтении отображались тэги из галереи

Пользователь офлайн


Похожие темы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте

Пользователей: 0, Гостей: 119

Поисковые боты: 106
Bot(54), Crawler(17), BingBot(5), oBot(7), Spider(2), Googlebot(2), Baidu.com(19)
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: ray
 Дни рождения

kotik947 (32)
Copyright © 2009 - 2026 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты