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


Форум
 Коммерческий раздел / Модули: спрос и предложение
         Отображение новостей в левой колонке.

Похожие темы

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


События Вторник, 08.12.2009, 18:55

Darid

Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Отображение новостей в левой колонке.
Отображение новостей в левой колонке.
Вобщем такая беда.

Из theme/standard/start/start.tpl взял {$news} и поместил в main.tpl в левый столбец.

В результате на главной странице новости отображаются в левой колонке: http://www.promominsk.com

а на остальных страницах пусто: http://www.promominsk.com/index.php?p=content&id=1&name=kontakt_form&area=1

Тоже самое с {$NewGalleries}

нужно за денежку заставить эти модули показываться на всех страницах.


Пользователь офлайн
События Среда, 09.12.2009, 23:54

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Решение такое
Удалить в папке систем в файле индекс это
PHP-код
if(get_active('News')) {
    
$News = new News;
    
$News- >displayAllNews('','',1);
    
$GLOBALS['tmpl']- >assign('topnews'$GLOBALS['tmpl']- >fetch($GLOBALS['config']['source'] . '/news/topnews.tpl'));
    
$News- >displayAllNews();
    
$GLOBALS['tmpl']- >assign('news'$GLOBALS['tmpl']- >fetch($GLOBALS['config']['source'] . '/news/newsticker.tpl'));
}

И это
PHP-код
if(get_active('gallery') && get_active('gallery_startpage')) {
    function 
newGalleries() {
        
$Gallery = new Gallery;
        
$GLOBALS['tmpl']->assign('NewGalleryEntries'$Gallery->newGalleries(abs((int)$GLOBALS['config_new']['Galleries'])));
        return 
$GLOBALS['tmpl']->fetch($GLOBALS['config']['source'] . '/gallery/gallery_new_start.tpl');
    }
    
$GLOBALS['tmpl']->assign('NewGalleries',newGalleries());

}


Потом открываем корневой индекс и перед
PHP-код
include_once(BASE_DIR '/lib/setglobal.php');

Добавляем следующее
PHP-код
if(get_active('News')) {
    
$News = new News;
    
$News->displayAllNews('','',1);
    
$GLOBALS['tmpl']->assign('topnews'$GLOBALS['tmpl']->fetch($GLOBALS['config']['source'] . '/news/topnews.tpl'));
    
$News->displayAllNews();
    
$GLOBALS['tmpl']->assign('news'$GLOBALS['tmpl']->fetch($GLOBALS['config']['source'] . '/news/newsticker.tpl'));
}

if(
get_active('gallery')) {
    function 
newGalleries() {
        
$Gallery = new Gallery;
        
$GLOBALS['tmpl']->assign('NewGalleryEntries'$Gallery->newGalleries(abs((int)$GLOBALS['section']['LimitNewGalleries'])));
        return 
$GLOBALS['tmpl']->fetch($GLOBALS['config']['source'] . '/gallery/gallery_new_start.tpl');
    }
    
$GLOBALS['tmpl']->assign('NewGalleries',newGalleries());
}

И теперь {$news} и {$topnews} и {$NewGalleries} доступны в любом шаблоне.
Не рекомендую использовать это тем просто ради того что бы было и не используя эти возможности, класс новостей и галлереи будет прокручиваться при любом обновлении страницы.
{$topnews} по той же причине вынесен вместе с {$news} что бы лишний раз класс не крутить, так тег {$topnews} можно оставить на месте в шаблоне.

Ну а раз за денежку то поблагодарить можно сюда сколько не жалкоРжу нимагу
Скрытая часть сообщения
Для просмотра Вам необходимо иметь 15 сообщений. У Вас 0 сообщений.

Заметил небольшой баг на форуме криво вставляется в коде ->
Будешь копировать проверь чтобы между - и > не было пробелов


Пользователь офлайн
События Среда, 16.12.2009, 11:50

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Мне уже на фрилансере сделали но раз ты тож работал и время тратил то на пиво перекинул деньжат.

Причём способ обсалютно такой-же. И та же ошибка. Т.е. везде это всё работает кроме как в случае просмотра архива новостей.... тогда слева в колонке выводит не новости а "Array"
Вот пример: http://www.promominsk.com/newsarchive/1/
Пользователь офлайн
События Среда, 16.12.2009, 15:12

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Цитата
Автор: Darid
Мне уже на фрилансере сделали но раз ты тож работал и время тратил то на пиво перекинул деньжат.

Причём способ обсалютно такой-же. И та же ошибка. Т.е. везде это всё работает кроме как в случае просмотра архива новостей.... тогда слева в колонке выводит не новости а "Array"
Вот пример: http://www.promominsk.com/newsarchive/1/

Так и будет, дублированная информация, один и тот же тег крутится, я б на твоем месте просто бы добавил исключающий тег на эту страницу, дабы не дублировать инфу



Пользователь офлайн
События Вторник, 23.03.2010, 14:02

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Оно всё работает но обнаружил трабл...
Если галерея стостит из нескольких страниц то на первой странице в колонке новости выводятся а на всех других голяк:

Вот первая страница
http://sts-art.com/index.php?p=gallery&action=showincluded&categ=2&name=v-avo-n-e-end&q=empty&searchtype=full&page=1&sort=nameasc&area=1

вот вторая

http://sts-art.com/index.php?p=gallery&action=showincluded&categ=2&name=v-avo-n-e-end&q=empty&searchtype=full&page=2&sort=nameasc&area=1

Где что подправить? Подскажи.
Пользователь офлайн
События Вторник, 23.03.2010, 14:23

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Так с разу и нескажу, по логике работы класса все должно быть в порядке, разницы в страницах нет, от номера страницы меняется только лимит выборки из базы, я думаю у тебя где то конфликт переменной в шаблоне, возможно два раза объявлена, и последний раз без данных. Для начала включи дебагер в смарти и посмотри выводимые переменные на страницах


Пользователь офлайн
События Вторник, 23.03.2010, 14:45

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
стесняюсь спрасить...... как включить дебагер?
Пользователь офлайн
События Вторник, 23.03.2010, 14:50

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Цитата
Автор: Darid
стесняюсь спрасить...... как включить дебагер?


http://www.status-x.ru/articles-archive/1/1/stati-dlya-razrabotchika/
последний параграф




Пользователь офлайн
События Вторник, 23.03.2010, 16:11

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
На странице в которой новости выводятся нормально:

{$news} " <div class="news_startpage"> ..."
{$news_count} 4
{$news_limit} "4"
{$newsitems} Array (4)


На странице в которой пусто:

{$news} " <i>\r</i><i>\n</i><i>\r</i>"
{$news_limit} "4"
{$newsitems} Array (0)

Гдето потерялось 8-((((((

Помоги друг....
Пользователь офлайн
События Среда, 24.03.2010, 18:45

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Ну что? не подскажешь друг? куда пропадают данные?
Пользователь офлайн
События Пятница, 26.03.2010, 18:59

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Обнаружил из-за чего глюк.

Дело в том что когда переходишь на 2-ю страницу галереи то в правой колонке отображается 2-я страница архива новостей. Если на 3-ю страницу галереи кликнуть то в правой колонке отображается 3-я страница архива новостей.

http://sts-art.com/index.php?p=gallery&action=showincluded&categ=1&name=na-zhna-eklama&q=empty&searchtype=full&page=2&sort=nameasc&area=1

Эта ссылка на вторую страницу галереи но вот это "page=2" вместе с тем тянет за сабой и 2-ю страницу новостей в правой колонке.


Т.е. получается страници завязаны галереи и новостей? А можно както разьеденить их? Чтобы при посещении второй страници галереи отображались новости первой страници! Помоги человек... Пожалуйста.
Пользователь офлайн
События Пятница, 26.03.2010, 20:50

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
К сожалению у меня нет времени ставить изменения как у тебя, так что проверить негде, но должно работать
Класс Class.News.php, функция displayAllNews

Найти

PHP-код

$a 
prepage() * $this->Limit $this->Limit;
$GLOBALS['tmpl']->assign('news_limit'$this->Limit);


Заменить на код ниже, как добавлять страницы в комментарии кода

PHP-код

$page_news 
= array('gallery'); //здесь в массив добавить имена страниц на которых будут выводится новости по образцу p=gallery, допустим новости еще выводишь на p=content, то массив наполняешь так $page_news = array('gallery','content') и так по аналогии добавляешь страницы где будут новости
$page_null = (in_array($_REQUEST['p'], $page_news) ? '1' prepage();
$a $page_null $this->Limit $this->Limit;
$GLOBALS['tmpl']->assign('news_limit'$this->Limit);



Пользователь офлайн
События Понедельник, 29.03.2010, 11:27

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
Зделал.

В результате вообще сайт не грузится... Белая страница.

http://sts-art.com/

Я то в движке ничего не менял кроме шаблонов.. в класы и функции вообще не лазил... Изменил только то что тут выше было сказано чтобы добавить новости в колонку на всех страницах.... Сборка Status-X_102a
Пользователь офлайн
События Понедельник, 29.03.2010, 11:40

Darid

Автор текущей темы
Группа: Пользователь
Ранг: Продвинутый
Cообщений: 176
Регистрация: 17.11.2009
Город: minsk
тупо вместо $page_null = (in_array($_REQUEST['p'], $page_news) ? '1' : prepage();
сделал $page_null = 1;

всё заработало как нужно.

Спасибо
Пользователь офлайн
События Понедельник, 29.03.2010, 12:06

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Цитата
Автор: Darid
тупо вместо $page_null = (in_array($_REQUEST['p'], $page_news) ? '1' : prepage();
сделал $page_null = 1;

всё заработало как нужно.

Спасибо


Скобка лишняя убери
$page_null = in_array($_REQUEST['p'], $page_news) ? '1' : prepage();

Иначе в разделе новостей тоже всегда первая страница только будет


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


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

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

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

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

Поисковые боты: 165
Bot(135), oBot(15), Mail.Ru Bot(11), Crawler, BingBot(3)
 Статистика форума

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

banan_lol (104), poltex (49), navichok (46), pyatkin (42)
Copyright © 2009 - 2024 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты