infected1992 1 Жалоба Опубликовано: January 31, 2014 Появилась необходимость вывода двух категорий новостей на главной странице. Подскажите, как вывод этот осуществить? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: January 31, 2014 1. Включаем в настройках в закладке новостей "Использовать категории для новостей"2. Создаем через phpmyadmin новое поле alter table re_news add column news_topic_id int(11) not null default 0;3. Идем в новости, там появляются новые кнопки.4. Создаем нужные разделы, например с URL = test-news5. Добавляем в этот раздел тестовую новость. Теперь на сайте она будет в разделеhttp://сайт/news/test-news/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
infected1992 1 Жалоба Опубликовано: February 1, 2014 1. Включаем в настройках в закладке новостей "Использовать категории для новостей"2. Создаем через phpmyadmin новое поле alter table re_news add column news_topic_id int(11) not null default 0;3. Идем в новости, там появляются новые кнопки.4. Создаем нужные разделы, например с URL = test-news5. Добавляем в этот раздел тестовую новость. Теперь на сайте она будет в разделеhttp://сайт/news/test-news/ А какой код должен быть чтобы выводить одну из категорий в шаблоне? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: February 1, 2014 Сейчас только вручную, вскоре сделаем вывод в шаблон. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
infected1992 1 Жалоба Опубликовано: February 4, 2014 Сейчас только вручную, вскоре сделаем вывод в шаблон. В ручную я так понимаю нужно вывести через smarty выбранную сортировку из бд таблицы новостей. Все ломаю голову как организовать этот вывод, но руки не из плеч. Подскажите код смарти который сортирует таблицу в бд по колонке news-topic_id и выводит каждую категорию новостей (news-topic_id) по отдельности каждую категорию уже в шаблон. Вот для примера: Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: February 4, 2014 Не через смарти.В общих чертах принцип такой:1. В контроллере шаблона main.php создается функция для подкачки нужных наборов новостей getMyNewsAssorty().2. В теле контроллера в функции main() эта подкачка вызывается в виде $this->template->assert('my_news_assorty', $this->getMyNewsAssorty()); 3. Уже в шаблоне мы имеем переменную {$my_news_assorty} c наборами новостей, которую прогоняем через цикл {foreach} и строим колонки или иной вывод. Ближе к вечеру, как будет время, смогу накинуть примерный код функции и вывода. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
infected1992 1 Жалоба Опубликовано: February 4, 2014 Не через смарти.В общих чертах принцип такой:1. В контроллере шаблона main.php создается функция для подкачки нужных наборов новостей getMyNewsAssorty().2. В теле контроллера в функции main() эта подкачка вызывается в виде $this->template->assert('my_news_assorty', $this->getMyNewsAssorty()); 3. Уже в шаблоне мы имеем переменную {$my_news_assorty} c наборами новостей, которую прогоняем через цикл {foreach} и строим колонки или иной вывод. Ближе к вечеру, как будет время, смогу накинуть примерный код функции и вывода.Интересно посмотреть и испробовать, ждем) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: February 4, 2014 Функция выборкиfunction getMyNewsAssorty(){if(''!=$this->getConfigValue('apps.news.item_alias')){$app_item_alias=$this->getConfigValue('apps.news.item_alias');}else{$app_item_alias='news';}$news=array();$DBC=DBC::getInstance();//Например хотим выбирать из категорий с ид=1 и 2$query='SELECT * FROM '.DB_PREFIX.'_news WHERE `news_topic_id` IN(1,2) ORDER BY `date` DESC'; $stmt=$DBC->query($query);if($stmt){while($ar=$DBC->fetch($stmt)){$ar['href']=SITEBILL_MAIN_URL.'/'.$app_item_alias.$ar['news_id'].'.html';$news[$ar['news_topic_id']][]=$ar;}}return $news;}Должна быть размещена в /template/frontend/имя_вашего_шаблона/main/main.php внутри class frontend_main extends SiteBill_Krascap { } ПС. Запрос к БД в функции "жадный". Тут можно оптимизировать, если новостей очень много и надо выбрать только по некоторому количеству для каждой категории, то лучше сделать два запроса на конкретные категории и ограничить их с помощью LIMIT. Вызов$this->template->assert('my_news_assorty', $this->getMyNewsAssorty());размещается в том же файле, но уже внутри функции main(). Не важно в каком месте, но оптимально сразу же после строки global $__site_title, $folder, $smarty; Вывод (пример)<!--Вывод новостей из категории 1-->{if $my_news_assorty[1]|count>0}{foreach from=$my_news_assorty[1] item=mynews1}<a href="{$mynews1.href}">{$mynews1.title}</a>{/foreach}{/if}<!--Вывод новостей из категории 2-->{if $my_news_assorty[2]|count>0}{foreach from=$my_news_assorty[2] item=mynews1}<a href="{$mynews1.href}">{$mynews1.title}</a>{/foreach}{/if}их ставится уже где-то в шаблоне. 1 infected1992 reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
infected1992 1 Жалоба Опубликовано: February 5, 2014 Функция выборкиfunction getMyNewsAssorty(){if(''!=$this->getConfigValue('apps.news.item_alias')){$app_item_alias=$this->getConfigValue('apps.news.item_alias');}else{$app_item_alias='news';}$news=array();$DBC=DBC::getInstance();//Например хотим выбирать из категорий с ид=1 и 2$query='SELECT * FROM '.DB_PREFIX.'_news WHERE `news_topic_id` IN(1,2) ORDER BY `date` DESC'; $stmt=$DBC->query($query);if($stmt){while($ar=$DBC->fetch($stmt)){$ar['href']=SITEBILL_MAIN_URL.'/'.$app_item_alias.$ar['news_id'].'.html';$news[$ar['news_topic_id']][]=$ar;}}return $news;}Должна быть размещена в /template/frontend/имя_вашего_шаблона/main/main.php внутри class frontend_main extends SiteBill_Krascap { } ПС. Запрос к БД в функции "жадный". Тут можно оптимизировать, если новостей очень много и надо выбрать только по некоторому количеству для каждой категории, то лучше сделать два запроса на конкретные категории и ограничить их с помощью LIMIT. Вызов$this->template->assert('my_news_assorty', $this->getMyNewsAssorty());размещается в том же файле, но уже внутри функции main(). Не важно в каком месте, но оптимально сразу же после строки global $__site_title, $folder, $smarty; Вывод (пример)<!--Вывод новостей из категории 1-->{if $my_news_assorty[1]|count>0}{foreach from=$my_news_assorty[1] item=mynews1}<a href="{$mynews1.href}">{$mynews1.title}</a>{/foreach}{/if}<!--Вывод новостей из категории 2-->{if $my_news_assorty[2]|count>0}{foreach from=$my_news_assorty[2] item=mynews1}<a href="{$mynews1.href}">{$mynews1.title}</a>{/foreach}{/if}их ставится уже где-то в шаблоне. Все заработало, спасибо. Но, я сделал вывод по такому же принципу как и у вас попытался вывести и дату новости по принципу <time>{$mynews1.date}</time>, но выдает прямое значение из бд (набор цифр вроде <time>1391041286</time>). как сделать ее нормальной, подскажите Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: February 5, 2014 но выдает прямое значение из бд (набор цифр вроде <time>1391041286</time>). как сделать ее нормальной, подскажите дата для новости хранится с формате unix_timestamp. Для его перевода в человеческий вид можете использовать модификатор smarty доступный в шаблоне.{$news.date|date_format:"%d-%m-%Y"}вот то, что с кавычках - %d-%m-%Y - это формат, в которм вы хотите вывести дату. Варианты и значения разных кусочков формата можно глянуть тут http://www.smarty.net/docsv2/ru/language.modifier.date.format.tpl почти в самом конце страницы.А если уже для нужного формата не хватает возможностей модификтора смарти, тогда форматирование даты можно перенести в функцию, которая совершает забор данных из БД. Тут все зависит от конечного вида выводимой даты. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
infected1992 1 Жалоба Опубликовано: February 5, 2014 дата для новости хранится с формате unix_timestamp. Для его перевода в человеческий вид можете использовать модификатор smarty доступный в шаблоне.{$news.date|date_format:"%d-%m-%Y"}вот то, что с кавычках - %d-%m-%Y - это формат, в которм вы хотите вывести дату. Варианты и значения разных кусочков формата можно глянуть тут http://www.smarty.net/docsv2/ru/language.modifier.date.format.tpl почти в самом конце страницы.А если уже для нужного формата не хватает возможностей модификтора смарти, тогда форматирование даты можно перенести в функцию, которая совершает забор данных из БД. Тут все зависит от конечного вида выводимой даты.Спасибо за помощь, все получилось вывел дату с помощью <time>{$mynews1.date|date_format:"%d.%m.%Y"}</time> Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexvdv 0 Жалоба Опубликовано: February 14, 2014 1. Включаем в настройках в закладке новостей "Использовать категории для новостей"2. Создаем через phpmyadmin новое поле alter table re_news add column news_topic_id int(11) not null default 0;3. Идем в новости, там появляются новые кнопки.4. Создаем нужные разделы, например с URL = test-news5. Добавляем в этот раздел тестовую новость. Теперь на сайте она будет в разделеhttp://сайт/news/test-news/ Сделал, как вы написали, но ошибка Table 'bh53460_liga.re_news_topic' doesn't exist Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: February 14, 2014 Сделал, как вы написали, но ошибка Table 'bh53460_liga.re_news_topic' doesn't existВыполните в phpmyadminCREATE TABLE IF NOT EXISTS `re_news_topic` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) NOT NULL,`url` varchar(255) NOT NULL,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexvdv 0 Жалоба Опубликовано: February 14, 2014 Выполните в phpmyadminCREATE TABLE IF NOT EXISTS `re_news_topic` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) NOT NULL,`url` varchar(255) NOT NULL,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; Спасибо помогло, а можно попросить вас помочь еще вот с этими вопросами, а то в другой ветке не дождался ответа: 1) После установки списка улиц, стала проблема с модулем геокодирование(кнопку нажимаю), но обозначения на карте не меняются. координаты уже есть у всех объектов, но я их ставил в ручную и не правильно. а теперь хочу выставить правильно через геокодирование, но не получается 2) Как сделать, чтобы по умолчанию на главной странице выводились объявления в виде блоков а не списками( в админке замена лист на thumbs не работает) 3) как ограничить число объявлений на главной и в блоке спецразмещения. (справа) 4) Как сделать слайдер картинок . вот например объявление: http://liga-prim.ru/...ir/realty8.html (тема realia) по факту картинок больше загружено , чем в действительности отображается, нет прокрутки объявлений. 5) в админ панели встречаются местами кнопки (применить) и в виде буквы (i) при нажатии на (i) ошибка, применить не работает. 6) как сменить стандартный путь к админке, а как изменить логин admin на свой, тогда где-то было написано что не будут доходить сообщения с сайта. 7) Есть ли решение, например пользователь хочет сдать квартиру, но он на сайте не регистрируется(я отключил) при создании объявления он указывает свои контактные данные, и я размещаю объявление после модерации. как сделать так , чтобы я видел его контакты, а когда пользователи будут смотреть объявления видели контакты админа. 8) Что вы думаете в будущем по поводу создания модуля блокировки по номеру телефона и электронной почты, других агенств(чтобы не размещали объявления свои) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: February 14, 2014 Спасибо помогло, а можно попросить вас помочь еще вот с этими вопросами, а то в другой ветке не дождался ответа: 1) После установки списка улиц, стала проблема с модулем геокодирование(кнопку нажимаю), но обозначения на карте не меняются. координаты уже есть у всех объектов, но я их ставил в ручную и не правильно. а теперь хочу выставить правильно через геокодирование, но не получается 2) Как сделать, чтобы по умолчанию на главной странице выводились объявления в виде блоков а не списками( в админке замена лист на thumbs не работает) 3) как ограничить число объявлений на главной и в блоке спецразмещения. (справа) 4) Как сделать слайдер картинок . вот например объявление: http://liga-prim.ru/...ir/realty8.html (тема realia) по факту картинок больше загружено , чем в действительности отображается, нет прокрутки объявлений. 5) в админ панели встречаются местами кнопки (применить) и в виде буквы (i) при нажатии на (i) ошибка, применить не работает. 6) как сменить стандартный путь к админке, а как изменить логин admin на свой, тогда где-то было написано что не будут доходить сообщения с сайта. 7) Есть ли решение, например пользователь хочет сдать квартиру, но он на сайте не регистрируется(я отключил) при создании объявления он указывает свои контактные данные, и я размещаю объявление после модерации. как сделать так , чтобы я видел его контакты, а когда пользователи будут смотреть объявления видели контакты админа. 8) Что вы думаете в будущем по поводу создания модуля блокировки по номеру телефона и электронной почты, других агенств(чтобы не размещали объявления свои)4. В теме реалиа прокрутка работает, напишите адрес сайта - посмотрю.7. Как пользователь создаст объявление без регистрации? вы можете просто изменить его данные на свои (указав что податчик объявления вы), без модерации он не сможет опобликовать объявление. Поставьте группам пользователей аттрибуты которые им доступны.3. Ограничить объявление на главной можно через админку (вывод количества объявлений). В спец. предложениях можно через код2. Опятьже нужен доступ к сайту , что бы проверить что-там не так. (по умолчанию - у меня - все работает) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexvdv 0 Жалоба Опубликовано: February 14, 2014 http://liga-prim.ru/ 4. В теме реалиа прокрутка работает, напишите адрес сайта - посмотрю.7. Как пользователь создаст объявление без регистрации? вы можете просто изменить его данные на свои (указав что податчик объявления вы), без модерации он не сможет опобликовать объявление. Поставьте группам пользователей аттрибуты которые им доступны.3. Ограничить объявление на главной можно через админку (вывод количества объявлений). В спец. предложениях можно через код2. Опятьже нужен доступ к сайту , что бы проверить что-там не так. (по умолчанию - у меня - все работает)http://liga-prim.ru/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexvdv 0 Жалоба Опубликовано: February 14, 2014 и как поменять заголовок Архив новостей, например, чтобы выводился подзаголовок нужной категории новостей?? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: February 14, 2014 по поводу слайдера, у вас написано что <a class="carousel-prev hidden" href="#" style="display: block;">Previous</a><a class="carousel-next hidden" href="#" style="display: none;">Next</a>нужно исправить на <a class="carousel-prev" href="#" style="display: block;">Previous</a><a class="carousel-next" href="#" style="display: none;">Next</a>больше пока сказать не могу, т.к. нужен доступ к сайту. Возможно нужно будет в вашем случаи править bootstrap Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
alexvdv 0 Жалоба Опубликовано: February 14, 2014 по поводу слайдера, у вас написано что <a class="carousel-prev hidden" href="#" style="display: block;">Previous</a><a class="carousel-next hidden" href="#" style="display: none;">Next</a>нужно исправить на <a class="carousel-prev" href="#" style="display: block;">Previous</a><a class="carousel-next" href="#" style="display: none;">Next</a>больше пока сказать не могу, т.к. нужен доступ к сайту. Возможно нужно будет в вашем случаи править bootstrap Спасибо, а не подскажите в каком файле копать??? а то они получается так: как только на страницу захожу синие стрелки прокрутки есть , а потом прячутся) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: February 14, 2014 Спасибо, а не подскажите в каком файле копать??? а то они получается так: как только на страницу захожу синие стрелки прокрутки есть , а потом прячутся)сейчас у вас все хорошо отображается Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
infected1992 1 Жалоба Опубликовано: March 12, 2014 Функция выборкиfunction getMyNewsAssorty(){if(''!=$this->getConfigValue('apps.news.item_alias')){$app_item_alias=$this->getConfigValue('apps.news.item_alias');}else{$app_item_alias='news';}$news=array();$DBC=DBC::getInstance();//Например хотим выбирать из категорий с ид=1 и 2$query='SELECT * FROM '.DB_PREFIX.'_news WHERE `news_topic_id` IN(1,2) ORDER BY `date` DESC'; $stmt=$DBC->query($query);if($stmt){while($ar=$DBC->fetch($stmt)){$ar['href']=SITEBILL_MAIN_URL.'/'.$app_item_alias.$ar['news_id'].'.html';$news[$ar['news_topic_id']][]=$ar;}}return $news;}Должна быть размещена в /template/frontend/имя_вашего_шаблона/main/main.php внутри class frontend_main extends SiteBill_Krascap { } ПС. Запрос к БД в функции "жадный". Тут можно оптимизировать, если новостей очень много и надо выбрать только по некоторому количеству для каждой категории, то лучше сделать два запроса на конкретные категории и ограничить их с помощью LIMIT. Вызов$this->template->assert('my_news_assorty', $this->getMyNewsAssorty());размещается в том же файле, но уже внутри функции main(). Не важно в каком месте, но оптимально сразу же после строки global $__site_title, $folder, $smarty; Вывод (пример)<!--Вывод новостей из категории 1-->{if $my_news_assorty[1]|count>0}{foreach from=$my_news_assorty[1] item=mynews1}<a href="{$mynews1.href}">{$mynews1.title}</a>{/foreach}{/if}<!--Вывод новостей из категории 2-->{if $my_news_assorty[2]|count>0}{foreach from=$my_news_assorty[2] item=mynews1}<a href="{$mynews1.href}">{$mynews1.title}</a>{/foreach}{/if}их ставится уже где-то в шаблоне. А как ограничить количество выводимых новостей? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: March 12, 2014 условие поставить {if $smarty.foreach.my_news_assorty[2].iteration%4==0}{/if}(где 4 целое число - выводов) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
infected1992 1 Жалоба Опубликовано: March 13, 2014 Что-то не выходит, подскажите куда вставлять?Вот мой код вывода новостей:<!--Вывод новостей из категории 1-->{if $my_news_assorty[1]|count>0}{foreach from=$my_news_assorty[1] item=mynews1}<div class="news_item"><p><time>{$mynews1.date|date_format:"%d.%m.%Y"}</time><a class="news_title_onhome" href="{$mynews1.href}">{$mynews1.title}</a></p><div class="anons">{$mynews1.anons|strip_tags|substr:0:300}... <a href="{$mynews1.href}">подробнее</a></div></div>{/foreach}{/if}</div> Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: March 13, 2014 <!--Вывод новостей из категории 1-->{if $my_news_assorty[1]|count>0}{foreach from=$my_news_assorty[1] item=mynews1}{if $smarty.foreach.my_news_assorty[1].iteration%4==0}<div class="news_item"><p><time>{$mynews1.date|date_format:"%d.%m.%Y"}</time><a class="news_title_onhome" href="{$mynews1.href}">{$mynews1.title}</a></p><div class="anons">{$mynews1.anons|strip_tags|substr:0:300}... <a href="{$mynews1.href}">подробнее</a></div></div>{/if}{/foreach}{/if}</div> должно получиться. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
infected1992 1 Жалоба Опубликовано: March 13, 2014 <!--Вывод новостей из категории 1-->{if $my_news_assorty[1]|count>0}{foreach from=$my_news_assorty[1] item=mynews1}{if $smarty.foreach.my_news_assorty[1].iteration%4==0}<div class="news_item"><p><time>{$mynews1.date|date_format:"%d.%m.%Y"}</time><a class="news_title_onhome" href="{$mynews1.href}">{$mynews1.title}</a></p><div class="anons">{$mynews1.anons|strip_tags|substr:0:300}... <a href="{$mynews1.href}">подробнее</a></div></div>{/if}{/foreach}{/if}</div> должно получиться. К сожалению не помогло, никаких изменений( Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах