Автор Тема: Добавить "карусель" товаров на главную  (Прочитано 2533 раз)

01 Февраль 2016, 12:53:10
Ответ #15
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Цитировать

Как проверить генерирует ли сайт запросы на другие ресурсы?

Запросы могут уходить, как с клиентской (HTML/JS/...), так и с серверной (PHP/SSI/...) части. 100% гарантию отсутствия механизма для произведения таких запросов можно получить только полностью изучив исходники, так как любые проверки могут показать только то, что производятся ли запросы прямо сейчас. Ни одна проверка, на клиенте или сервере, не сможет гарантировать отсутствие кода который отправляет запросы на другие ресурсы только в определённое время суток.

Клиентскую сторону можно тестировать средствами браузера, используя инструменты для разработчиков вроде Chrome Dev Tool, Firebug, или плагины HTTP Live Headers Addon Mozilla, RequestPolicy. При этом придётся в ручную открыть все страницы, попытаться отправить все HTML формы, и так далее.

Серверную сторону можно тестировать путём сканирования исходящего трафика: например, с помощью системного файрвола закрыв сервер для приёма входящих TCP соединений от любых IP, кроме своего собственного, и включив перехват и логгирование всего исходящего трафика чем-нибудь, вроде tcpdump, любым снифером.
В логах Apache не увидеть запросов, которые PHP инициирует наружу,  там только запросы, которые клиенты прислали на сервер. Поэтому нужно смотреть php-логи.
01 Февраль 2016, 13:22:41
Ответ #16
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
coder Ясно, спасибо. Старый добрый tcpdump всегда выручит. Сперва запишу всё, что летит с ip-шника сайта наружу ч-з роутер, потом что-то типа

find . -type f -depth -exec  grep -H -n "url"  {} ';' | grep -w url
из корня Престы..... на досуге займусь

По поводу модуля - клона:
Модуль установлен (клонирован). Дело было в том, что следовало внести изменения и в config_ru.xml Язык то по умолчанию русский. А ещё изменть на My Module  <author><![CDATA[My Module]]></author>

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

Теперь вопрос такой - какие параметры категорий или товаров могут оказывать влияние на связь с клонированным модулем?
Например, в закладке "Изображения" галки стоят напротив  всех магазинов. Категория по умолчанию менялась - результатов нет.

01 Февраль 2016, 15:42:21
Ответ #17
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль может быть привязан к теме и проверяться в каком нибуть другом модуле этой темы.
Удалите эти модули, очистите кеш. Установите сначало клон модуля, потом установите оригинальный.
01 Февраль 2016, 15:53:46
Ответ #18
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Mr.Sen

С этим разобрался, модуль (клон) установлен. Но заставить его отображать категории не получается (см. пост выше)

Вот установленный модуль и скрин настроек.

А вот кусок шаблона home.tpl

<ul id="bakedcategoryproducts1-slider-{$cateid}"  data-cateid="{$cateid}" class="bakedcategoryproducts-slider featured-news-1 clearfix" >
{foreach from=$category_products.products item=item key=key}
<li class="baked-slider">
<div class="article baked-content">
<div class="featured-item box-hover clearfix">
<div class="entry-content">
<div class="video-thumb">
<a href="{$item.link}" title="{$item.name}" class="product_image">
{if isset($image_category_show_array[$cateid][$item.id_product]) && !empty($image_category_show_array[$cateid][$item.id_product])}

<img  Дальше картинки с параметрами......

foreach from=$category_products.products item=item key=key -  $category_products.products откуда может браться значение этой переменной? (здесь она, судя по всему, не определена)
item key=key - откуда берётся значение key?

И ещё вопрос: как сохранить изменения после установки галок, если кнопки "Сохранить" нет?

02 Февраль 2016, 13:27:30
Ответ #19
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Писал в support темы ещё до открытия этой нити.  Они, как подобает продвинутой службе поддержки, ничего не отвечают.

Задачка для самостоятельного решения. 

Дано:
Модуль, отображающий товары заданных разработчиком категорий. Конструкция модуля позволяет изменить набор отображаемых на главной товаров.  Модуль связан с отображаемой группой (категорией) товаров через переменные. Модуль  клонирован, в настройках клона категории не выбраны.  Изменить настройки отображения товаров не удаётся ни в родительском, ни в клонированном модулях. Кнопка "Сохранить" в интерфейсе настроек модуля отсутствует.

Вопрос:
Какие параметры групп или товаров необходимо установить (изменить) для изменения их взаимодействия с вышеописанным модулем?
Либо каким образом разработчик темы увязал отображаемые позиции в модуле?



Увлекательное это занятие, разбираться в исходниках, особенно, если не знаешь их язык. Стимул для роста, тренировка внимания..... да ещё и задачка  для любителей поискать дырочки и написать что нибудь интересное.... ведь автор то известен! В общем, вопрос занимательный.
Однако, буду благодарен за помощь.



По поводу поиска ссылок "наружу" тоже вопрос, заслуживающий внимания. Напишу скрипт, обязательно выложу. Но эт не скоро, данным проектом занимаюсь только на досуге.






02 Февраль 2016, 14:09:08
Ответ #20
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Пробывал установить этот модуль на prestashop 1.6, при установке показывает ошибку
Fatal error: Call to undefined method Product::getHoverProductsImgs() in
/modules/bakedcategoryproducts/bakedcategoryproducts.php on line 78
Сам модуль устанавливается, в админке список категорий раскрывается. Но на сайте не показывает.
Сделал дубль bakedcategoryproducts1, при установке такая же ошибка. В админке список категорий раскрывается, можно выбрать и сохранить. Но на сайте ничего не показывает.
03 Февраль 2016, 09:47:47
Ответ #21
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Mr.Sen
Цитировать
можно выбрать и сохранить

Это интересно. Сохраняется каким образом? Кнопки нет..... после установки галок что происходит? Страница обновляется?
03 Февраль 2016, 10:03:20
Ответ #22
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Кнопка есть, после сохранения страница перегружается.
03 Февраль 2016, 11:14:02
Ответ #23
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
 :o У меня нет кнопки....... разными смотрелками проверил.


Во всех остальных модулях кнопки там, где должны быть.  Что делать? Классы проверить? Но ведь у Mr.Sen  кнопка отображается..... в переводе модуля слова Save нет.

Mr.Sen - посмотри в каком куске кода эта кнопка? Какой класс?
03 Февраль 2016, 13:09:48
Ответ #24
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль устанваливается, кнопка Сохранить видна на странице настроек модуля.
Кнопка Сохранить выводится базовами классами админки. За вывод отвечает контроллер и шаблон. Для модулей это admin/themes/default/template/controllers/modules/....
03 Февраль 2016, 14:34:04
Ответ #25
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
DarinSr

Спасибо.

В коде страницы настроек модуля  кнопка присутствует, но не отображается.

<label class="control-label col-lg-3">Количество отображаемых товаров</label>
<div class="col-lg-9">
<input type="text" name="BAKED_CATEGORY_LIMITED" id="BAKED_CATEGORY_LIMITED" value="8" class="fixed-width-xs">
</div>
</div><div>
<button class='btn btn-default pull-right' name='submitModerate' id='productcomments_form_submit_btn' value='1' type='submit'>
<i class='process-icon-save'></i> Save</button> </div></form></div>
<div class="bootstrap panel">
<h3><i class="icon-cogs"></i> Конфигурация</h3>
<input type="checkbox" name="activateModule" value="1" checked="checked"
onclick="location.href = '.админ.каталог/index.php?controller=AdminModules&token=728048051bc3d98be9c&configure=bakedcategoryproducts&tab_module=front_office_features&amp;module_name=bakedcategoryproducts&amp;enable=' + (($(this).attr('checked')) ? 1 : 0);" />
Активировать модуль для этого контекста магазина: all shops.
</div>

Но делать то что? Локэйшены сервера проверить? 
И почему, в таком случае, в остальных модулях все кнопки, где положено?
03 Февраль 2016, 16:04:35
Ответ #26
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Может проблема в ширине экрана? Кнопку выбрасывает за границы окна. Размер окно сделайте больше / меньше.
04 Февраль 2016, 11:10:51
Ответ #27
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Adik

Спасибо за подсказку. Кнопка "убегала" за нижний div контейнер. Находилась за рамкой "КОНФИГУРАЦИЯ"
Выровнял стилями.

Теперь модуль работает штатно, категории в настройках сохраняются, товары на главной отображаются.
Клон ведёт себя аналогично.

Итак:
В результате обсуждения не только решена проблема,  но и  расширен функционал сайта клонированным модулем.
Кроме того, надоумили найти ссылки на внешние ресурсы.

СПАСИБО ВСЕМ!!! :)
14 Февраль 2016, 01:17:04
Ответ #28
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подскажите плиз, как исправить отображение категорий на главной и в категориях.