IPB

Здравствуйте, гость ( Вход | Регистрация )

> Правильно формулируйте вопросы - Вам быстрей ответят

Перед подачей запроса воспользуйтесь сервисом Поиск. Возможно Ваш вопрос уже был задан и доступно быстрое решение.

Для максимально быстрого решения проблемы обязательно укажите:
- адрес Вашего сайта + наименование хостинга (локальный/внешний)
- номер установленного релиза PHPSHOP CMS FREE (Указывается в админпанели. Пример PHPShop CMS Free (сборка 34501).
- подготовьте принтскрин Вашей проблемы (снимок рабочего стола в момент ошибки) и прикрепите принтскрин в теме.
- укажите наименование и/или номер ошибки.
- подробно опишите алгоритм Ваших действий при выполнении поставленной задачи

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Новость и его ID + Пагинация полных новостей, маленькая проблема в main_news_forma_full.tpl
Worm
сообщение 11.1.2011, 13:35
Сообщение #1


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



2Dennion
Заметил интересный Баг в новостях
в шаблоне main_news_forma_full.tpl есть такой вот код:

Код
<div class="news_tema"><a href="/news/ID_@newsId@.html"  title="@newsZag@">@newsZag@</a></b></div>


в разных шаблонах может меняться

Так вот ссылка /news/ID_@newsId@.html генерируется некорректно. Не на ту новость. Я вычислил куда оно отправляет...на последнюю (не по дате, а нижнюю. зависит от лимита) новость из "Кратких Новостей" (@miniNews@)

Можно вылечить.
Но, по идее в полной новости ссылка на туже новость незачем, поэтому можно просто замочить её
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 11.1.2011, 15:12
Сообщение #2


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Цитата(Worm @ 11.1.2011, 14:35) *
2Dennion
Заметил интересный Баг в новостях
в шаблоне main_news_forma_full.tpl есть такой вот код:

Код
<div class="news_tema"><a href="/news/ID_@newsId@.html"  title="@newsZag@">@newsZag@</a></b></div>


в разных шаблонах может меняться

Так вот ссылка /news/ID_@newsId@.html генерируется некорректно. Не на ту новость. Я вычислил куда оно отправляет...на последнюю (не по дате, а нижнюю. зависит от лимита) новость из "Кратких Новостей" (@miniNews@)

Можно вылечить.
Но, по идее в полной новости ссылка на туже новость незачем, поэтому можно просто замочить её


Це баг шаблона, просто поправь ссылку.
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 11.1.2011, 15:14
Сообщение #3


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



Эм...это не в одном шаблоне так. Дело то не в ссылке, а в @newsID@
Эта переменная не правильный ID дает
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 11.1.2011, 16:39
Сообщение #4


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Цитата(Worm @ 11.1.2011, 16:14) *
Эм...это не в одном шаблоне так. Дело то не в ссылке, а в @newsID@
Эта переменная не правильный ID дает

В шаблоне полного описания эта переменная вообще не отрабатывается, она берется из модуля списка последних новостей в правой колонке, вот поэтому и показывает последний ид новости.
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 11.1.2011, 16:50
Сообщение #5


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



Аааа....вон оно чо...тады в топку её
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 12.1.2011, 0:45
Сообщение #6


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



2Dennion

Знаю что это банально (= Но как можно реализовать прелистование новостей

<<назад | вперед>>
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 12.1.2011, 11:15
Сообщение #7


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Цитата(Worm @ 12.1.2011, 0:45) *
2Dennion

Знаю что это банально (= Но как можно реализовать прелистование новостей

<<назад | вперед>>


Реализовать через php smile.gif
В планах сделать есть такое.
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 12.1.2011, 11:36
Сообщение #8


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



вчера покопался....и понял что для меня это не банальщина нифига (((= буду ждать когда твои планы воплотятся в новый релиз (=
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 12.1.2011, 11:57
Сообщение #9


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Цитата(Worm @ 12.1.2011, 12:36) *
вчера покопался....и понял что для меня это не банальщина нифига (((= буду ждать когда твои планы воплотятся в новый релиз (=


Сча попробую по бырому, если будут подводные камни, то отложу.
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 12.1.2011, 12:04
Сообщение #10


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Т.е. тебе заменить << >> на << назад вперед >> ?
phpshop/class/core.php
Код
[/code]

/**
     * Генерация пагинатора
     */
    function setPaginator() {

замени в ней ««     на  ««  назад
и  »»  на  вперед  »»


строка

Код
$this->set('productPageNav',$this->getValue('lang.page_now').":
<a href=\"".$this->objPath.($p_do).".html\">«« </a> /
                    $navigat&nbsp<a href=\"".$this->objPath.$p_to.".html\"> »»</a>");
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 12.1.2011, 12:49
Сообщение #11


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



Не, не то.

Я хочу вставить <div>@productPageNav@</div> в news_page_full.tpl или в main_news_forma_full.tpl

но она никак не отрисовывается в них
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 13.1.2011, 14:03
Сообщение #12


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Сделал функцию такую.

1. в файл phpshop/core/news.core.php в класс добавь функцию (у меня с 64 строки она)

Код
/**
     * Пагинация в подробном описании
     * @return string
     */
    function setPaginatorContent() {

        // Расчет записей
        $curId = $this->PHPShopNav->getId();
        $prevId = $curId-1;
        $nextId = $curId+1;

        // Проверка записей
        $PHPShopOrm = &new PHPShopOrm($this->objBase);
        $PHPShopOrm->Option['where'] = ' or ';
        $PHPShopOrm->debug = $this->debug;
        $PHPShopOrm->sql = 'select id from '.$this->objBase.' where id='.$prevId.' or id='.$nextId;
        $row = $PHPShopOrm->select();

        // Проверка на последнюю запись
        if(count($row) == 1) $data[0] = $row;
        else $data = $row;

        if(is_array($data)) {

            if($data[0]['id'] == $prevId) $navigat='<a href="./ID_'.$prevId.'.html" title="'.$this->getValue('lang.prev_page').'">'.
                        $this->getValue('lang.prev_page').'</a>';
            else $navigat='';

            if($data[1]['id'] == $nextId) $navigat.=' | <a href="./ID_'.$nextId.'.html" title="'.$this->getValue('lang.next_page').'">'.
                        $this->getValue('lang.next_page').'</a>';
            else $navigat.='';
        }
        return $navigat;
    }


2. в конфиг config.ini добавь парамеры языковые в конец раздела [lang]

Код
next_page="Вперед";
prev_page="Назад";


3. в news.core.php добавь в блок определения переменных

Код
$this->set('paginatorContent',$this->setPaginatorContent());


4. в шаблон подробной странице вывода новостей переменную @paginatorContent@
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 13.1.2011, 17:13
Сообщение #13


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



"в класс добавь функцию (у меня с 64 строки она)"

после каких строк вставить надо? можешь скоприровать сюда...

у меня чтото не выходит ничего
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 13.1.2011, 18:16
Сообщение #14


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Цитата(Worm @ 13.1.2011, 18:13) *
"в класс добавь функцию (у меня с 64 строки она)"

после каких строк вставить надо? можешь скоприровать сюда...

у меня чтото не выходит ничего


Функцию нужно добавить межлду другими функциями, состав класса

class A{
!
function A(){
.....
}
!
function B(){
.....
}
!
}

вот в вместо ! можешь ставить
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 13.1.2011, 20:35
Сообщение #15


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



Ну вроде всё так и вставил


Код
class PHPShopBlog extends PHPShopCore {
    
    /**
     * Пагинация в подробном описании
     * @return string
     */
    function setPaginatorContent() {

        // Расчет записей



ничего не выводит. щас еще поковыряю на других сайтах


UPD
Все работает . Оказывается определение переменных 2 шт. Спасибо большое за функцию!

UPD2 на ID_1 отсутвует и ВПЕРЕД и НАЗАД (= Хотя на одной страничке можно и в ручную вставить

ЗЫ может немного поднимет настроение http://yuriromanov.ru/blog/ID_7.html
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 14.1.2011, 14:04
Сообщение #16


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Да на первой нет, но если делать проверку там лишний запрос будет к базе, с тз экономия ресурсов не столь страшно smile.gif
Первая новость обычна такая
"Всем привет, это моя первая новость на новом сайте...."
Перейти в начало страницы
 
+Цитировать сообщение
ElGato
сообщение 14.1.2011, 14:25
Сообщение #17


Я - не волшебник, я только лечусь
***

Группа: Модератор
Сообщений: 1009
Регистрация: 19.8.2010
Из: Екб. Подгорье
Пользователь №: 549
Версия CMS Free: 342-344



Цитата(Dennion @ 14.1.2011, 16:04) *
Первая новость обычна такая
"Всем привет, это моя первая новость на новом сайте...."

Dennion, ты же понимаешь, что здесь не совсем обычные люди собрались laugh.gif
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 24.1.2011, 0:02
Сообщение #18


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



Есть минус в этой пагинации...если удалить какуюто новость, то сбивается пагинация, наверное потому что новости должны идти по порядку
ID_1 ID_2 ID_3 и т.д.

а вот если ID_1 ID_3 ID_4 , то косяки в ID_1 и ID_3
Перейти в начало страницы
 
+Цитировать сообщение
Dennion
сообщение 24.1.2011, 11:14
Сообщение #19


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

Группа: Главные администраторы
Сообщений: 5910
Регистрация: 20.8.2009
Из: Москва
Пользователь №: 1
Версия CMS Free: 3.3



Цитата(Worm @ 24.1.2011, 0:02) *
Есть минус в этой пагинации...если удалить какуюто новость, то сбивается пагинация, наверное потому что новости должны идти по порядку
ID_1 ID_2 ID_3 и т.д.

а вот если ID_1 ID_3 ID_4 , то косяки в ID_1 и ID_3


Уже сложнее, тут всякие вложенные запросы, это я не одоюряю - пожиралка ресурсов будет а не пагинатор..
Перейти в начало страницы
 
+Цитировать сообщение
Worm
сообщение 24.1.2011, 11:31
Сообщение #20


Активный участник
***

Группа: Модератор
Сообщений: 2675
Регистрация: 30.12.2009
Из: Самара
Пользователь №: 213
Версия CMS Free: 34
Создано сайтов: Достаточно много



ладно, сделаю новую новость и ID в базе поменяю. Они же сортируются по ID?
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 23.9.2019, 4:11