Николай, добрый день. Переношу дизайн. Шаблон элемента в списке товаров выглядит так: {* Шаблон для вывода карточки товара в списке *}
{if $object.image} {assign var=src value=$object.image} {else} {assign var=src value=$object.imageDefault} {/if}
<li class="ajax_block_product {$cls}"> <div class="featured_li"> <a class="product_image" href="{$object.uri}" title="{$object.pagetitle}"> <img src="assets/images/{$object.tvs.image.value}" alt="{$object.pagetitle}" class="vky" width="230"/> <img src="assets/images/{$object.tvs.image2.value}" alt="{$object.pagetitle}" style="display:none;" class="v" width="230"/> </a> <div data-smodx-productcls="listproduct"> <form action="" method="post"> <input type="hidden" name="product_id" value="{$object.product_id}"/> <input type="hidden" name="action" value="add_product"/> <input type="hidden" name="quantity" value="1"/> <h5><a class="product_link" href="{$object.uri}" title="{$object.pagetitle}">{$object.pagetitle}</a></h5> <span class="price">{$object.sm_price|number_format:2:".":" "} руб.</span> <br /> <button class="exclusive ajax_add_to_cart_button" type="submit"><b></b>Купить</button> <a class="button" href="{$object.uri}" title="View">Подробнее</a> </form> </div> </div> </li> почему-то к значению переменной картинки нужно добавить родительские каталоги: <img src="assets/images/{$object.tvs.image.value}"... и, самое главное, при покупке возвращается ответ 500. парасетры в ajax передаются верно, в логе ошибок пусто. Что я сделал не так?Все дополнительное сейчас делается на дополнительных полях. Только имей ввиду, что каждый товар надо будет заводить в отдельности, даже если это одинаковые товары, только отличаются размерами. Пока так.
Добрый день. Я наконец-то начал делать магазин. Мне необходимо задать для товаров кроме цен еще размеры (разные для разных товаров). как это лучше и проще сделать? Правильно ли сделать это в виде доп.параметров (как в shopkeeper)?
Пожалуйста. Вообще это нотисы, что является привычным делом, и на продакшене обычно уровень вывода ошибок выше ставится error_reporting(E_ALL ^ E_NOTICE) или вообще убираются. Так же смотрите плагин Debug. Если он активен, то он как раз и включает вывод этих нотисов, если настройки сервера позволяют. То есть обычно отключение этого плагина отключает вывод нотисов.
— на заглавной: Notice: Undefined variable: tagPropString in ...public_html/core/components/modxsmarty/smarty_plugins/function.field.php on line 29 Это мелкая бага в плагине пакета modxSmarty. Не объявлена переменная. В ближайшее время выпущу обновленный пакет с багфиксами. Если эту проблему надо срочно решить, то где-нибудь здесь надо прописать $tagPropString = ''; Спасибо, помогло!
Все, понял в чем проблема… Это когда удаляется последний товар. У тебя серверочек совсем слабый, и возможно интернет не очень быстрый. В итоге ты успеваешь все увидеть, а я никак не замечал… Замут в удалении последнего товара. Когда удаляется последний товар из корзины, происходит перезагрузка страницы (пока вот так у нас, фронт же у нас черновой). Но перед перезагрузкой после удаления скрипт опять шлет запрос на сервер, чтобы получить данные корзины. Но запрос скорее всего не успевает отработаться, а браузер принудительно завершает этот запрос, в результате чего он не корректно завершается, и JS-скрипт сообщает об ошибке запроса. То есть это не серверная ошибка, а JS+логическая. Технической проблемы здесь с самим заказом нет. А мы попробуем подшаманить этот момент в новой сборке. Патч будет.
Николай, привет. В Firefox сообщения об ошибке запроса при удалении товара из корзины нет. В хроме файрбаг есть, но все что удается отловить: ? через секунду консоль очищается.
Все равно не радостно. А есть у вас firebug или другие средства для просмотра Ajax-запросов. Вот этот проблемный запрос можете отследить? Какой код ответа сервера? Какой текст в ответе?
Не помогло, но это не критично, т.к. я уверен что еще пару раз все переставлю по мере выхода новых версий. Сейчас главное — чтение доков и апи. Спасибо за ответы, обязательно еще обращусь!
К сожалению никак не могу воспроизвести ошибку. В логах ничего нет, хотя прописана запись ошибок практически везде. Может просто дело в сессии. Попробуйте в админке через панель убить все сессии (Безопасность -> Завершить все сеансы), и потом еще кукисы все удалить, чтоб на верочку. И опять попробовать выполнить действия. Есть подозрение на чисто индивидуальную ошибку.