Искать  
 
   
1 из 5
1
FreeCart - Бесплатная корзина товаров для ExpressionEngine
Отправлено: 20 Май 2009 02:49 P.M.   [ Игнорировать ]
Новичок
Avatar
Rank
Всего сообщений:  44
Зарегистрирован  2009-01-19

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

Основные функции

*Вывод ссылки «Купить»

*Вывод списка товаров в корзине с названием, ценой, кол-вом, суммой (кол-во * цена), ссылкой на удаление товара из корзины, общей суммой всех товаров в корзине, и общим кол-вом товаров в корзине.

*Вывод формы редактирования корзины, т.е. изменение кол-ва товара в корзине (input),  удаление товара из корзины (checkbox) плюс все функции предыдущего пункта

Это только beta версия, так что обо всех багах сообщайте в комментах, тут или на моем сайте. Так же, если что-то непонятно по использованию - пишите, все объясню.

Документация и сам модуль

Пример формы редактирования карзины

{exp:free_cart:form}
<table>
 <
tr>
        <
td>Товар </td>
        <
td>Цена товара </td>
        <
td>Кол-во </td>
        <
td>Сумма </td>
        <
td>Удалить</td>
 </
tr>
        
{entries_start}
 
<tr>
        <
td>{position_name} </td>
        <
td>{position_price} </td>
        <
td>{position_num_input class="cart_num_inp"</td>
        <
td>{position_summ} </td>
        <
td>{position_del_checkbox class="cart_del_check"}</td>
 </
tr>
        
{entries_end}
 
<tr>
        <
td>ИТОГО</td>
        <
td></td>
        <
td>{position_num} </td>
        <
td>{all_sum}</td>
        <
td></td>
 </
tr>
 <
tr>
        <
td colspan="5">
            <
table>
                <
tr>
                    <
td><input type="submit" value="Пересчет" name="submit"></td>
                    <
td><a href="{clear_cart_href}">Отчистить карзину</a></td>
                </
tr>
            </
table>
        </
td>
 </
tr>
</
table>
{/exp:free_cart:form} 

Сайт пока не работает, документацию можно найти на google docs

Приложения с файлами
free_cart_1_1_beta.zip  (Размер файла: 5KB - Загрузок: 897)
 Подпись 

Мои статьи про EE

Профиль
 
 
Отправлено: 21 Май 2009 03:19 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Возможно ли незарегистрированным пользователям оформлять заказ?

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 21 Май 2009 04:36 P.M.   [ Игнорировать ]   [ # 2 ]
Новичок
Avatar
Rank
Всего сообщений:  44
Зарегистрирован  2009-01-19

Собственно, это только корзина, оформление заказа там не предусмотрено. У меня например это делается через freeform. Тегом {exp:free_cart:cart} в скрытое поле выводиться информация о товарах, и с помощью freeform добавьляется в админку и отсылается админу.

 Подпись 

Мои статьи про EE

Профиль
 
 
Отправлено: 21 Май 2009 07:49 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Т.е., теоретически, итоговую сумму можно передать в merchant Webmoney и произвести оплату?

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 21 Май 2009 09:36 P.M.   [ Игнорировать ]   [ # 4 ]
Новичок
Avatar
Rank
Всего сообщений:  44
Зарегистрирован  2009-01-19

Да, сумму, кол-во товаров, список товаров и все остальное, можно в любой момент передать куда угодно.

 Подпись 

Мои статьи про EE

Профиль
 
 
Отправлено: 22 Май 2009 10:46 A.M.   [ Игнорировать ]   [ # 5 ]
Студент
RankRank
Всего сообщений:  73
Зарегистрирован  2008-05-21

Довольно неплохое решение для простой корзины...

Вопрос возник возник при просмотрое первых строк кода (pi.free_cart.php).
function Linkhref():
С одной стороны обработка параметров выглядит слишком уж примитивной, как для плагина, а сдругой - почему принята именно такая конструкция?
Во-первых, параметр \‘id\’ всегда - целое число, поэтому проще: $id = (int)$TMPL->fetch_param(\‘id\’);\nВо-вторых, mysql_escape_string экранирует спец-символы в unescaped_string, чтобы, их можно было безопасно использовать в mysql_query(), а здесь?...

Профиль
 
 
Отправлено: 22 Май 2009 11:10 A.M.   [ Игнорировать ]   [ # 6 ]
Новичок
Avatar
Rank
Всего сообщений:  44
Зарегистрирован  2009-01-19

Да, это ты прав. Поправил. Спасибо.

 Подпись 

Мои статьи про EE

Профиль
 
 
Отправлено: 08 Июнь 2009 09:04 A.M.   [ Игнорировать ]   [ # 7 ]
Студент
RankRank
Всего сообщений:  140
Зарегистрирован  2008-01-02

Free Cart (v.1.0 Beta) установился нормально, в списке плагинов есть.

Добавил поле price_field.

Сделал запись, в price_field записал 10 (без форматирования).

Вставил в шаблон тестового блога код

a href {exp:free_cart:linkhref id=”{entry_id}” price=”10”}>Заказать< / 

(без пробелов)

Результат всегда

.../cart_action.php?act=add&id=0&price=0

Даже в этом случае:

a href {exp:free_cart:linkhref id=”{entry_id}” price=”10”}>Заказать< / 

То есть плагин не получает параметры?

Пробовал и в index, и в more/51.

Что-то я туплю где-то?

P.S. entry_id в “Читать дальше” передается в URL нормально, то есть оно существует.

(20090515)

Профиль
 
 
Отправлено: 08 Июнь 2009 10:04 A.M.   [ Игнорировать ]   [ # 8 ]
Студент
RankRank
Всего сообщений:  140
Зарегистрирован  2008-01-02

Действительно туплю.

Я по лени скопировал код примера с сайта разработчика, и из-за мелкости шрифта не усмотрел, что там кавычки косые, а не прямые.

Профиль
 
 
Отправлено: 06 Июль 2009 10:37 A.M.   [ Игнорировать ]   [ # 9 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

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

Профиль
 
 
Отправлено: 06 Июль 2009 10:49 A.M.   [ Игнорировать ]   [ # 10 ]
Новичок
Avatar
Rank
Всего сообщений:  44
Зарегистрирован  2009-01-19

Хм... нет... а зачем?

 Подпись 

Мои статьи про EE

Профиль
 
 
Отправлено: 06 Июль 2009 10:55 A.M.   [ Игнорировать ]   [ # 11 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Нужно товар вместе со спец прдложениямми одноврвеменно в корзину добавить

Профиль
 
 
Отправлено: 06 Июль 2009 01:07 P.M.   [ Игнорировать ]   [ # 12 ]
Новичок
Avatar
Rank
Всего сообщений:  44
Зарегистрирован  2009-01-19

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

 Подпись 

Мои статьи про EE

Профиль
 
 
Отправлено: 18 Июль 2009 04:07 P.M.   [ Игнорировать ]   [ # 13 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Нужно чем заменить header(“location:”.$_SERVER[‘HTTP_REFERER’]);
У меня opera не перекидывает, наверное рефереры не передает

Профиль
 
 
Отправлено: 20 Июль 2009 03:03 P.M.   [ Игнорировать ]   [ # 14 ]
Новичок
Avatar
Rank
Всего сообщений:  44
Зарегистрирован  2009-01-19

Видимо проблема все же в чем то другом, насколько я помню переменная $_SERVER[‘HTTP_REFERER’] не зависит от конкретного браузера. Можешь проверить ее значение?

 Подпись 

Мои статьи про EE

Профиль
 
 
Отправлено: 20 Июль 2009 03:08 P.M.   [ Игнорировать ]   [ # 15 ]
Новичок
Avatar
Rank
Всего сообщений:  44
Зарегистрирован  2009-01-19

В опере:

Инструменты -> Настройки -> Сеть -> Включить автоматическое перенаправление 

Галочка стоит?

 Подпись 

Мои статьи про EE

Профиль
 
 
   
1 из 5
1