Вопросы по разработке и модификации CS-Cart

[quote name='densvi' timestamp='1428906602' post='211200']

Даниил, в том-то все и дело, что я с самого начала так и делал, но не работает. Вот что у меня в пост. контроллере:


<br /> use Tygh\Registry;<br /> if (!defined(&#39;BOOTSTRAP&#39;)) { die(&#39;Access denied&#39;); }<br /> if ($mode == &#39;view&#39;) {<br /> тут код для расчета переменных<br /> }<br /> <br /> if ($mode == &#39;options&#39;) {<br /> тут точно такой же код для расчета переменных<br /> }<br />



Когда карточка только открывается, то переменные рассчитываются, т.е. срабатывает условие по моду = view, но когда идет изменение опций у товара, то условие по моду = options не срабытывает

[/quote]



Оберните Ajax в


<br /> if ($_SERVER[&#39;REQUEST_METHOD&#39;] == &#39;POST&#39;) {<br /> <br /> <br /> }<br />



и закиньте в начало контроллера.



Попробуйте сделать pre контроллер.



Если это не сработает, то там есть хуки, цепляйте ваш код через хук в любой функции, которая выполняется при Ajax запросе.

[quote name='densvi' timestamp='1428906602' post='211200']

Даниил, в том-то все и дело, что я с самого начала так и делал, но не работает. Вот что у меня в пост. контроллере:

[/quote]



Смена опций обрабатывается в файле:



app/controllers/common/products.post.php



Там такой же mode options. В конце мода есть хук:

Даниил, заработал pre контроллер. Спасибо огромное за вашу помощь.



Так для общего развития вопрос. А почему пост контроллер не работает при обновлении опций? А пре контроллер работает?

[quote name='dbazhenov' timestamp='1428907480' post='211203']

Смена опций обрабатывается в файле:



app/controllers/common/products.post.php



Там такой же mode options. В конце мода есть хук:

fn_set_hook(&#39;after_options_calculation&#39;, $mode, $data);

[/quote]



Ааааа, конфликт контроллеров!!! Елы палы.

[quote name='densvi' timestamp='1428907668' post='211204']

Даниил, заработал pre контроллер. Спасибо огромное за вашу помощь.



Так для общего развития вопрос. А почему пост контроллер не работает при обновлении опций? А пре контроллер работает?

[/quote]



Посмотрите оригинальный контроллер.



[color=#282828][font=arial, verdana, tahoma, sans-serif]app/controllers/common/products.post.php[/font][/color]



[color=#282828][font=arial, verdana, tahoma, sans-serif]Он заканчивается:[/font][/color]

<br /> fn_set_hook(&#39;after_options_calculation&#39;, $mode, $data);<br /> <br /> Registry::get(&#39;view&#39;)->display($display_tpl);<br /> <br /> exit;<br /> }<br />



После exit не запускаются post контроллеры.



Поэтому можно использовать pre или хуки.

Здравствуте, Даниил!

Прошу прощения за совсем элементарные вопросы. В программировании не силен…

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

<div class="cm-dialog-auto-open cm-dialog-auto-size"


текст основного поля



Кнопка 1


Кнопка 2


Пытался найти команду редиректа в яндексе, но ничего не нашел.
Вторая проблема в том, что стандартный блок с кнопкой "закрыть" в углу. Firebug ведет к файлу кеша... Соответственно после чистки все возвращается. Подскажите пожалуйста как создать блок без крестика в углу, либо где найти данную часть кода для удаления.
Так же, чтобы окно не терроризировало, нужно сделать, чтобы оно показывалось человеку раз в сутки. Это для меня вообще непосильная задача)
Буду очень благодарен, если поможете.

[quote name='Lex=)' timestamp='1428915168' post='211246']

Здравствуте, Даниил!

Прошу прощения за совсем элементарные вопросы. В программировании не силен…

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

<div class="cm-dialog-auto-open cm-dialog-auto-size"


текст основного поля



Кнопка 1


Кнопка 2


Пытался найти команду редиректа в яндексе, но ничего не нашел.
Вторая проблема в том, что стандартный блок с кнопкой "закрыть" в углу. Firebug ведет к файлу кеша... Соответственно после чистки все возвращается. Подскажите пожалуйста как создать блок без крестика в углу, либо где найти данную часть кода для удаления.
Так же, чтобы окно не терроризировало, нужно сделать, чтобы оно показывалось человеку раз в сутки. Это для меня вообще непосильная задача)
Буду очень благодарен, если поможете.
[/quote]

Класс [color=#282828][font=arial, verdana, tahoma, sans-serif]cm-dialog-closer закрывает окно. [/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif]Уберите этот класс с ссылки которая не должна закрывать окно.[/font][/color]

Это я понимаю. А какой класс должен быть у кнопки с ссылкой?

Даниил, еще вопрос. Как из смарти получить доступ к сумме (в рублях) корзины, т.е. на какую сумму лежит товара в корзине? Есть какой-то простой способ? Если нет, то куда копать? С чего начать?

[quote name='Lex=)' timestamp='1428915763' post='211248']

Это я понимаю. А какой класс должен быть у кнопки с ссылкой?

[/quote]



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

[quote name=‘densvi’ timestamp=‘1428916024’ post=‘211249’]

Даниил, еще вопрос. Как из смарти получить доступ к сумме (в рублях) корзины, т.е. на какую сумму лежит товара в корзине? Есть какой-то простой способ? Если нет, то куда копать? С чего начать?

[/quote]



Массив $cart доступен везде.



Посмотрите откуда берёт информацию блок “Корзина”.



{$smarty.session.cart|fn_print_r}



Находите нужные данные , total скорее всего и отображаете через common/price.tpl

Спасибо. Я похоже совсем не “алё”)

А сможете подсказать код для записи в куки?

[quote name=‘Lex=)’ timestamp=‘1428917195’ post=‘211256’]

Спасибо. Я похоже совсем не “алё”)

А сможете подсказать код для записи в куки?

[/quote]



Что записывать то?

[quote name=‘dbazhenov’ timestamp=‘1428916462’ post=‘211253’]

Массив $cart доступен везде.



Посмотрите откуда берёт информацию блок “Корзина”.



{$smarty.session.cart|fn_print_r}



Находите нужные данные , total скорее всего и отображаете через common/price.tpl

[/quote]



Спасибо. Буду копать, как это обновлять значение ajax-ом при добавлении в корзину.



И еще, Даниил, а не планируете 3-е видео по геотаргетингу снять?

[quote name=‘densvi’ timestamp=‘1428917554’ post=‘211259’]

Спасибо. Буду копать, как это обновлять значение ajax-ом при добавлении в корзину.



И еще, Даниил, а не планируете 3-е видео по геотаргетингу снять?

[/quote]



Планирую, но не успеваю, я думаю ещё чуть чуть и оно вам не понадобится. :)

[quote name=‘dbazhenov’ timestamp=‘1428917630’ post=‘211260’]

Планирую, но не успеваю, я думаю ещё чуть чуть и оно вам не понадобится. :)

[/quote]



В смысле сам дойду? или в 4.3.1. будет?

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

[quote name=‘Lex=)’ timestamp=‘1428918153’ post=‘211262’]

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

[/quote]



Есть видео как определить IP и как записать его в сессию, ну и соответственно дальше работайте с этим:



http://www.youtube.com/watch?v=b1ul5cUYOgw&index=15&list=PL4okpC0OV7TTa1iFmcPTL-outH4wEMJQW

[quote name=‘densvi’ timestamp=‘1428917902’ post=‘211261’]

В смысле сам дойду? или в 4.3.1. будет?

[/quote]



Дойдёте :)



Уже почти дошли.

Даниил, у меня не было папки first_addon. Сделал все по инструкции, но маркер не появляется. Проверил на init.php. Там работает. В чем может быть дело?

[quote name=‘Lex=)’ timestamp=‘1428922525’ post=‘211281’]

Даниил, у меня не было папки first_addon. Сделал все по инструкции, но маркер не появляется. Проверил на init.php. Там работает. В чем может быть дело?

[/quote]



Смотрите предыдущие видео :)



Необходимо, если планируете модифицировать систему самостоятельно.