Перейти к содержанию
Форум поддержки пользователей VamShop

Отзывы постранично


kpoxas

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

Проблема в том, что количество отзывов на странице ограничено переменной, что выставляется в админке, то есть, если их много, то отображаются только последние N штук. А если их поставить N=99, то это сильно будет грузить страницу.

Сделал разбитие постранично по N  штук на странице, страницы переключаются без перезагрузки - через Аякс.

Результат можно посмотреть тут  http://e-parfums.kiev.ua/Moschino-Moschino-Funny.html#reviews

Может есть смысл такое сделать в след версии?

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

Неплохо :)

Поправь

<meta name="generator" content="© by E-PARFUMS.kiev.ua />

нет закрывающей кавычки, должно быть:

<meta name="generator" content="© by E-PARFUMS.kiev.ua" />

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

kpoxas

Да, неплохо, вот если б ещё работало в отключенным JavaScript, тогда действительно был бы универсальный вариант.

Вот попробуй отключить JS в браузере, переход по страницам работать не будет.

А сейчас же всё-таки и мобилки довольно неплохие уже и кпк, не везде может быть полноценная поддержка JS, всё-таки, мне кажется, нужно иметь рабочий вариант на случай отсутствия JS.

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

делал по принципу роботы корзины, без перезагрузки страницы с отключенным javascript так не сделать, может есть идеи?

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

kpoxas

Если кодом поделишься, я попробую глянуть, может получится доделать.

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

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

У тебя там стоит такой линк:

<a onclick="ReviewsPage(3,2009); return false;" href="http://e-parfums.kiev.ua/Moschino-Moschino-Funny.html?page=3" class="pageResults" title=" Сторінка 3 ">3</a>

Значит в класс product.php в метод getReviews() нужно добавить обработку номера страницы. Например:

1. Добавляем после

  function getReviews() {
проверку на заданную страницу
    if (isset($_GET['page']) && is_numeric($_GET['page'])) {
      $limitFrom = max(PRODUCT_REVIEWS_VIEW * ($_GET['page'] - 1)), 0);
    } else {
      $limitFrom = 0;
    }[/code] 2. Добавляем в sql-запрос лимит выборки: меняем
[code]                                                  order by reviews_id DESC");
на
                                                   order by reviews_id DESC
                                                  LIMIT " . $limitFrom . "," . PRODUCT_REVIEWS_VIEW);[/code] Или просто используем готовый класс split_page_results.php. И, кстати, вот эти странные манипуляции можно будет выкинуть:
[code]      $row = 0;
...
        $row ++;
...
        if ($row == PRODUCT_REVIEWS_VIEW)
          break;

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

kpoxas, а как Вы сделали, чтобы на одной странице было несколько товаров? При этом их можно положить в корзину.

Например на на той же странице: http://e-parfums.kiev.ua/Moschino-Moschino-Funny.html#reviews

туалетна вода 50 мл           246 грн.

туалетна вода 100 мл           302 грн.

тестер (туалетна вода) 100 мл 279 грн.

очень интересно... думал что такого в vamshop реализовать нельзя.

P.S. не раз отоваривались  в вашем магазине :)

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

У тебя там стоит такой линк:

<a onclick="ReviewsPage(3,2009); return false;" href="http://e-parfums.kiev.ua/Moschino-Moschino-Funny.html?page=3" class="pageResults" title=" Сторінка 3 ">3</a>

Значит в класс product.php в метод getReviews() нужно добавить обработку номера страницы. Например:

1. Добавляем после

  function getReviews() {
проверку на заданную страницу
    if (isset($_GET['page']) && is_numeric($_GET['page'])) {
      $limitFrom = max(PRODUCT_REVIEWS_VIEW * ($_GET['page'] - 1)), 0);
    } else {
      $limitFrom = 0;
    }[/code] 2. Добавляем в sql-запрос лимит выборки: меняем
[code]                                                  order by reviews_id DESC");
на
                                                   order by reviews_id DESC
                                                  LIMIT " . $limitFrom . "," . PRODUCT_REVIEWS_VIEW);[/code] Или просто используем готовый класс split_page_results.php. И, кстати, вот эти странные манипуляции можно будет выкинуть:
[code]      $row = 0;
...
        $row ++;
...
        if ($row == PRODUCT_REVIEWS_VIEW)
          break;

Эти странные манипуляции там были уже давно, решил их не переделывать, а просто создать файл split_page_results_reviews.php (так как onclick="ReviewsPage(3,2009); return false;" нужно указывать только на странице с товаром, а писать условия как-то не хотелось)

Исправил немного product_reviews.php.

Так как уже эмбедится яваскрипт с аяксом корзины, добавил туда же функцию с отзывом ReviewsPage().

Потом по аналогии с ajax_shopping_cart.php в корень засунул файл ajax_reviews_page.php

И вставил соответствующий смарти в шаблон

<div class="clear"></div>

<div class="navigation">

<span class="right">{$NAVIGATION_BAR}</span>{$NAVIGATION_BAR_PAGES}

</div>

<div class="clear"></div>

Вот файлы

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

то Astelas

объемы - это не отдельные товары, а сделанные атрибутами, а затем в шаблоне добавлены кнопки купить к каждому атрибуту

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

kpoxas

Спасибо, посмотрю обязательно.

Если всё нормально, добавлю в следующей версии в магазин.

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

то Astelas

объемы - это не отдельные товары, а сделанные атрибутами, а затем в шаблоне добавлены кнопки купить к каждому атрибуту

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

Ссылка на сообщение
Поделиться на другие сайты
  • 2 months later...

kpoxas, ABerezin

Спасибо большое, добавил в текущую версию.

Будет в VaM Shop 1.54 по умолчанию.

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