Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Следить
Главная
17:38
22 дек
#
?
avyazemsky написал:

Доброго времени суток. Сейчас занимаюсь интеграцией\настройкой. Сюда буду писать все вопросы, которые у меня возникнут. Буду благодарен за помощь.

1. Отображение ошибок

Не выводятся ошибки - пустая страница. Где это контролируется? $debug ставлю в true, в htaccess нет блокировки.

2. Отображение содержимых переменных в шаблоне

|@var_dump не работает, а ошибку посмотреть не могу.

07:41
23 дек
#
?
avyazemsky написал:

1. debug

а. @require_once на config по умолчанию

б.

if (isset($_SERVER['HTTP_HOST'])
&& ((strtolower($_SERVER['HTTP_HOST']) == 'localhost') || ($_SERVER['HTTP_HOST'] == '127.0.0.1'))) {
    error_reporting(E_ALL & ~E_STRICT);
} else {
    error_reporting(0);
}

В моем случае host = "impera". В итоге error_reporting уходит в 0.
Если есть переменная $debug, зачем это все? Усложняете жизнь разработчикам.

2. smarty

Для переменных var_dump отключен. Вывод осуществлять либо через |debug_print_var, либо через {debug}. В последнем случае всплывает окошко со всеми переменными.

Оффтоп: twig бы вместо этого.
Оффтоп 2: обилие define'ов ломает мозг. имхо, не лучший способ для конфигов
09:36
23 дек
#
?
avyazemsky написал:

3. Свойства товара не позволяют создать свойство без возможных значений. Насколько логичным будет просто убрать проверку? Мне в фильтре требуется слайдер с диапазоном по свойствам. К каким последствиям может привести изменение?

12:06
23 дек
#
?
написал:

var_dump

открыть objects/Basic.php
найти метод create_template_object_policy
добавить
$policy->php_functions = array(..., 'var_dump');
$policy->php_modifiers = array(..., 'var_dump');

в шаблоне писать
{var_dump($example)}
или
{$example|var_dump}

default'ы

зачем всем не доверять?
например в шаблоне default_new есть
<a href="{$site|default:''|escape}.....
нас считают маньяками порчи переменных?
проверки "а вдруг" здесь лишние
пиcать надо
<a href="{$site}.....

define'ы

положить на них большую железную гайку
в каком гугле\микрософте\адобе разработчик научился кодить define'ами?
шаблон прекрасно пишется без констант

например файл design/default_new/catalog.tpl
что видим
<a href="{$site|default:''|escape}catalog?{$smarty.const.REQUEST_PARAM_NAME_CATALOG_MODE|escape}={$smarty.const.CATALOG_MODE_REQUEST_PARAM_VALUE_HIT|escape}"....

египетская сила
нельзя было по людски?
<a href="{$site}catalog?mode=hit"....

сорри ботву покрошил немного на движок
как бы движок мощь без понтов
а манера кодить ещё то порево

17:22
24 дек
#
?
avyazemsky написал:

>> нельзя было по людски?
>> <a href="{$site}catalog?mode=hit"....

Нужен вменяемый url генератор для таких целей. И роутер вместо htaccess редиректов *вздыхает*

18:36
08 янв
#
?
avyazemsky написал:

4. Где меняется размер изображения по умолчанию для карточки товара?

5. Вывод списка подкатегорий, если непосредственно в самой категории отсутствуют товары. Например, сайт юлмарта - если нажать на любой раздел в меню, появляются карточки категорий. Есть ли готовое решение в impera cms?

18:52
08 янв
#
?
написал:

4. товары > Товары > настройки и там есть размеры большой и малой фото.

19:20
08 янв
#
?
Popkov написал:

5. Как вывести блок с подкатегориями текущей категории



Еще вот близкое по смыслу. Подгрузка подробной информации о товаре методом AJAX в конце смотрите есть о категориях, динамическая подгрузка дерева подкатегорий. Наверное думаю можно так грузить аяксом карточку категории. Сам не пробовал по примерам должно получится. в теории.

13:28
11 янв
#
?
avyazemsky написал:

Popkov,

Спасибо, помогло

23:58
12 янв
#
?
avyazemsky написал:

6. Создание уникальной главной страницы. Я так понимаю, что для этого в файле page.tpl надо сделать проверку запроса {if $smarty.server.REQUEST_URI == '/'} и подключить определенный файл?

7. К главной можно привязать специальную страницу, которая обязательно должна присутствовать в меню. Значит ли это, что я должен создавать 2 меню, если не хочу, чтобы главная страница отобразилась среди прочих элементов?

16:57
13 янв
#
?
avyazemsky написал:

8. Я вот попытался развернуть cms на тестовой площадке, чтобы показать выполненную работу, но столкнулся с проблемой лицензии. Наверное, имеет смысл давать триал на 30 дней? Я, конечно, выпилил лицензию, но это заняло опредленное время и доставило головную боль.

03:49
14 янв
#
?
avyazemsky написал:

3. Свойства товара не позволяют создать свойство без возможных значений. Насколько логичным будет просто убрать проверку? Мне в фильтре требуется слайдер с диапазоном по свойствам. К каким последствиям может привести изменение?

Отвечаю сам на свой вопрос: ни к каким. Простое отключение проверки позволяет создавать "произвольные" свойства. Над диапазоном значений пришлось "попотеть" - я решил эту задачу добавлением параметра filter_property_range. Sql запрос в .db-models/products оставил аналогичным filter_properties, изменив только условия where для properties на

. 'CAST(' . DATABASE_PROPERTIES_VALUES_TABLENAME . '.value AS unsigned) >= \'' . $this->cms->db->query_value($values['min']) . '\' AND '
. 'CAST(' . DATABASE_PROPERTIES_VALUES_TABLENAME . '.value AS unsigned) <= \'' . $this->cms->db->query_value($values['max']) . '\' ';


минимальные-максимальные значения для диапазона по умолчанию извлекаю таким способом:

SELECT pv.property_id,
       MAX(CAST(pv.value AS UNSIGNED)) AS max,
       MIN(CAST(pv.value AS UNSIGNED)) AS min
FROM properties_values pv,
     products p,
     properties prop
WHERE pv.product_id = p.product_id
      AND p.category_id = ' . $this->cms->db->query_value($params->category_id) . '
      AND pv.property_id = prop.property_id
      AND prop.options = ''
GROUP BY pv.property_id


добавляю в переменную $properties[$row->property_id]->range

Такие дела.

Вообще, это все же костыль на скорую руку. Думается мне, стоит ввести типы свойств: select, string, int (range specific). можно еще float. и дать возможность человеку самому автоматически решать этот вопрос. еще select image неплохо было бы :) *мечтательно*

*мелкими буквами* Кстати, почему-то оказалось проще "сверстать" свой фильтр, чем адаптировать дизайн nextweb'a под свои нужды :)

11:13
03 фев
#
?
avyazemsky написал:

x. Как отменить выбранный элемент в multiple select? т.е. не выбирать ничего.

В общем, пока я неспешно работал над проектом и копал по-тихоньку код, сделал для себя выводы

Система сырая и сделана для 1 единственного разработчика, т.е. автора :) инеграция - более-менее приемлемо. использовать в боевых проектах с надеждой "допилить, оптимизировать, добавить новый функционал для себя" не рекомендую.

Автору порекомендую нанять команду разработчиков и пересмотреть архитектуру проекта. Считаю его нежизнеспособным в текущем виде. Не в обиду.

С уважением.

12:16
03 фев
#
?
avyazemsky написал:

x. Как отменить выбранный элемент в multiple select? т.е. не выбирать ничего.

  (function ($) {
     $("select[multiple] option").mousedown(function () {
       var el = $(this);

       if (el.attr("selected")) {
         el.removeAttr("selected");
       }
       else {
         el.attr("selected", "selected");
       }

       return false;
    });
  })(jQuery);
12:37
05 фев
#
?
avyazemsky написал:

x2. Экспорт в csv. Почему не работает? Что надо сделать, чтоб работал? Хочу сделать возможность обновления через xls для уже готового каталога.

Написание ответа

Перед публикацией рекомендуется использовать Предпросмотр, чтобы увидеть конечный вид сообщения.


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.