Дисконтная система для miniShop2
Вась, привет!
Я тут пишу дисконтную систему для miniShop'а. Потихоньку-понемногу получается, но вот ExtJS меня просто вымораживает :-(
Вот значит нужен супербокс с возвожностью ввода пользователей (и подсками этих пользователей, соответственно).
В ms2.combo.js написал вот это:
Я уже парочку своих xtype'ов сделал (по аналогии с твоими), и ошибок не было, а здесь вот хоть убей…
Понятное дело, что по приведённому коду диагностировать — что пальцем в небо, а сам не могу уже — для меня ExtJS тёмный лес, страх и ужас :-(
Поэтому прошу помощи — может посмотришь/поможешь?
Дисконтная система будет классная. Если есть возможность — можно в скайпе скооперироваться, чтобы проще было и быстрее. Заодно расскажу, что планируется.
Все последние изменения можно у меня с гитхаба забрать, посмотреть.
Я тут пишу дисконтную систему для miniShop'а. Потихоньку-понемногу получается, но вот ExtJS меня просто вымораживает :-(
Вот значит нужен супербокс с возвожностью ввода пользователей (и подсками этих пользователей, соответственно).
В ms2.combo.js написал вот это:
miniShop2.combo.Users = function(config) {
config = config || {};
Ext.applyIf(config,{
xtype:'superboxselect'
,allowBlank: true
,msgTarget: 'under'
,allowAddNewData: true
,addNewDataOnBlur : true
,resizable: true
,name: 'coowners'
,anchor:'100%'
,minChars: 2
,store:new Ext.data.JsonStore({
id: config.name + '-store'
,root:'results'
,autoLoad: true
,autoSave: false
,totalProperty:'total'
,fields: ['username','id']
,url: MODx.config.connectors_url + 'security/user.php'
,baseParams: {
action: 'getlist'
// ,username: config.value
}
})
,mode: 'remote'
,displayField: 'username'
,valueField: 'id'
,triggerAction: 'all'
,extraItemCls: 'x-tag'
,listeners: {
newitem: function(bs,v, f){
var newObj = {
username: v
};
bs.addItem(newObj);
}
}
});
config.name += '[]';
miniShop2.combo.Options.superclass.constructor.call(this,config);
};
Ext.extend(miniShop2.combo.Options,Ext.ux.form.SuperBoxSelect);
Ext.reg('minishop2-combo-users',miniShop2.combo.Options);
И для всплывающего окна добавляю поле:{xtype: 'minishop2-combo-users',fieldLabel: _('ms2_discountcard_coowners'), name: 'coowners', anchor: '99%', id: 'minishop2-discountcard-coowners-'+type}
И всё, приехали:TypeError: this.el is undefined
Скрипты modx'ом клеются, но ошибка вылетает в ExtJS-их файлах.Я уже парочку своих xtype'ов сделал (по аналогии с твоими), и ошибок не было, а здесь вот хоть убей…
Понятное дело, что по приведённому коду диагностировать — что пальцем в небо, а сам не могу уже — для меня ExtJS тёмный лес, страх и ужас :-(
Поэтому прошу помощи — может посмотришь/поможешь?
Дисконтная система будет классная. Если есть возможность — можно в скайпе скооперироваться, чтобы проще было и быстрее. Заодно расскажу, что планируется.
Все последние изменения можно у меня с гитхаба забрать, посмотреть.
Комментарии: 21
В админке MODX можно использовать и jQuery, ExtJS не обязателен.
Ну и не совсем понятно, зачем оно вообще в админке? Этим только менеджер будет рулить, для юзера ничего не будет? Иначе можно было бы это написать как контроллер к Office — без админки, и с любыми скриптами и внешним видом.
Ну и не совсем понятно, зачем оно вообще в админке? Этим только менеджер будет рулить, для юзера ничего не будет? Иначе можно было бы это написать как контроллер к Office — без админки, и с любыми скриптами и внешним видом.
Не, тут надо с админкой. Будут огромные возможности.
Смысл какой — во настройках добавляется новая вкладка — «Типы скидок». Вот описание этой вкладки:
И так же можно будет создавать дисконтные карты из админки. Можно назвать это промо-кодом, как угодно, суть не меняется. Эти карты могут быть общими для всех, именными, иметь совладельцев, иметь ограничение на количество использования.
Вот в первом скрине — осталось только в окошко создания/редактирования добавить superbox с возможностью выбора нескольких юзеров сразу.
И всё, что в описаниях выше — всё сделаю, но вот с ExtJS никак не совладаю :-( Он меня убивает просто. И ведь осталось-то с ним совсем немного — остальное дело техники — сниппет для упраления картами для фронта и обработки.
Смысл какой — во настройках добавляется новая вкладка — «Типы скидок». Вот описание этой вкладки:
Укажите типы скидок для дисконтных карт. Например, «5%» или «2000».
Здесь же вы можете привязать скидку к конкретному товару. Например, у вас есть товар «Дисконтная карта на сумму 5%». Создайте тип скидки «5%» и свяжите её с этим товаром.
К этому товару автоматически привяжутся все дисконтные карты (созданные в панели управления) с этим типом скидки. И тогда, пользователь, купивший этот товар, автоматически становится владельцем первой свободной дисконтной карты с данным типом скидки.
И так же можно будет создавать дисконтные карты из админки. Можно назвать это промо-кодом, как угодно, суть не меняется. Эти карты могут быть общими для всех, именными, иметь совладельцев, иметь ограничение на количество использования.
Здесь, вы можете создавать дисконтные карты и связывать их с созданными раннее скидками.Пара скринов того, что готово:
Так же можно устанавливать лимит пользования (0 — неограниченно).
Дисконтные карты могут быть:
— общего пользования;
— именными, т.е. привязываются к определённому пользователю. Вы можете назначать владельца карты вручную, либо это будет происходить автоматически, если скидка, привязанная к этой карте, связана с товаром и пользователь приобретёт этот товар.
Именные карты могут:
— иметь совладельцев, т.е. пользователей, которые, помимо владельца, также могут воспользоваться данной картой;
— быть публичной, т.е. этой картой может воспользоваться любой. Разница с картой общего пользования только в том, что у этой карты есть конкретный владелец.
Вот в первом скрине — осталось только в окошко создания/редактирования добавить superbox с возможностью выбора нескольких юзеров сразу.
И всё, что в описаниях выше — всё сделаю, но вот с ExtJS никак не совладаю :-( Он меня убивает просто. И ведь осталось-то с ним совсем немного — остальное дело техники — сниппет для упраления картами для фронта и обработки.
В админке MODX можно использовать и jQuery, ExtJS не обязателен.Дак а как мне из jQuery юзать Ext-овские виджеты? А именно superbox.
Ты бы написал об этом в Simple Dream, им будет очень интересно.
Они мне помогут разобраться с Ext'ом? ^_^
А ты примешь этот коммит, если что? :-) Задумка-то клёвая! Да и возможности гибкие будут)
p.s. как там, кстати, дела с no-js?)
А ты примешь этот коммит, если что? :-) Задумка-то клёвая! Да и возможности гибкие будут)
p.s. как там, кстати, дела с no-js?)
Они могут помочь это выпустить отдельным дополнением, так как раздувать MS2 я не собирюсь.
По no-js я тебе сразу сказал — ждать будешь долго, я завален работой на месяц вперед.
По no-js я тебе сразу сказал — ждать будешь долго, я завален работой на месяц вперед.
Они могут помочь это выпустить отдельным дополнениемНу это вариант, конечно. С самого начала я так и хотел, но вот установил modExtra и дальше не продвинулся. С твоими наработками куда проще было начать это делать, поэтому и начал «внедрять» в твой код.
на месяц впередВоу, аж на месяц счёт идёт… Ну хотя бы так, куда деваться)
Добрый день, а ваша разработка вылилась в какое то решение? а то тут скоро понадобиться промокоды внедрять, был бы признателен)
store.simpledream.ru/packages/ecommerce/msdiscount.html
Это не подойдёт?
Это не подойдёт?
так там нет промокодов к большому сожалению (
Приветствую!
К сожалению, разработка не закончена. Заказчику, для которого это делалось, в итоге промо-коды не понадобились, а больше подобных заказов не было.
Я вам историю одну расскажу, реальную, про промо-коды (не моя, рассказывали).
Так вот. Был сайт. Было поле для ввода промо-кодов при оформлении корзины.
И решили это поле ввода убрать. Просто выпилили любое упоминание о промо-кодах.
Вуаля — конверсия при оформлении корзины выросла на 15-20%. Т.е. убрали одно поле, а прибыль магазина увеличилась (грубо говоря) на 5ю часть. Приносил магазин 100 тысяч прибыли, стал приносить 120 тысяч. Убрали промо-коды. Чудеса? Отнюдь, всё довольно логично — юзер, дошедший до этапа оформления корзины, видел поле для ввода промо-кодов, шёл в гугл, чтобы найти себе заветную скидочку, и… больше на сайт не возвращался. Убрали это поле — убрали мотивацию уходить с сайта не завершив покупку.
После этой истории, продолжать разработку на добровольных началах стало не интересно. Плюс к этому, зная, что эта разработка может наоборот ухудшить конверсию и уменьшить прибыль, я её доделывать уже точно не буду.
Такие дела. Расскажите эту историю вашему заказчику — может он передумает и вам не придётся внедрять эти промо-коды :-)
К сожалению, разработка не закончена. Заказчику, для которого это делалось, в итоге промо-коды не понадобились, а больше подобных заказов не было.
Я вам историю одну расскажу, реальную, про промо-коды (не моя, рассказывали).
Так вот. Был сайт. Было поле для ввода промо-кодов при оформлении корзины.
И решили это поле ввода убрать. Просто выпилили любое упоминание о промо-кодах.
Вуаля — конверсия при оформлении корзины выросла на 15-20%. Т.е. убрали одно поле, а прибыль магазина увеличилась (грубо говоря) на 5ю часть. Приносил магазин 100 тысяч прибыли, стал приносить 120 тысяч. Убрали промо-коды. Чудеса? Отнюдь, всё довольно логично — юзер, дошедший до этапа оформления корзины, видел поле для ввода промо-кодов, шёл в гугл, чтобы найти себе заветную скидочку, и… больше на сайт не возвращался. Убрали это поле — убрали мотивацию уходить с сайта не завершив покупку.
После этой истории, продолжать разработку на добровольных началах стало не интересно. Плюс к этому, зная, что эта разработка может наоборот ухудшить конверсию и уменьшить прибыль, я её доделывать уже точно не буду.
Такие дела. Расскажите эту историю вашему заказчику — может он передумает и вам не придётся внедрять эти промо-коды :-)
Кстати да, замечал за собой такое — запросто могу уйти искать промо-код.
А если не пойду, то вся равно появляется стойкое ощущение, что я переплачиваю, а мог бы и сэкономить.
А если не пойду, то вся равно появляется стойкое ощущение, что я переплачиваю, а мог бы и сэкономить.
Реально улыбнуло) Такой грамотный ответ заказчику, чтобы не внедрять что-то) А давайте внедрим вот это, не не надо конверсия упадет…
но в целом мысль верная, сам себя ловил на этом, при покупке чего-то на сайте, поход в гугл, но как правило, все равно возвращался, так как вроде надо было купить, хотя по себе не судят конечно)
А если все же убедить не удастся) во сколько бы вы оценили спонсорскую помощь для продолжения разработки?
но в целом мысль верная, сам себя ловил на этом, при покупке чего-то на сайте, поход в гугл, но как правило, все равно возвращался, так как вроде надо было купить, хотя по себе не судят конечно)
А если все же убедить не удастся) во сколько бы вы оценили спонсорскую помощь для продолжения разработки?
Только без обид, но ни во сколько.
У меня работы на 2 месяца вперёд и с modx никак не связанная. К тому же с ExtJS мы хорошими друзьями так и не стали — до сих пор очень долго и скурпулёзно объясняю ему, чего мне хочется, а он всё время нос от меня воротит (extjs — одна из причин из-за чего не доделал. Причин, на самом деле, было намного больше, только вот найти ту статью с тем комментарием, в котором они были расписаны, что-то не могу).
Так что возвращаться к тому, что радости мне не принесёт — желания нет. Извините.
У меня работы на 2 месяца вперёд и с modx никак не связанная. К тому же с ExtJS мы хорошими друзьями так и не стали — до сих пор очень долго и скурпулёзно объясняю ему, чего мне хочется, а он всё время нос от меня воротит (extjs — одна из причин из-за чего не доделал. Причин, на самом деле, было намного больше, только вот найти ту статью с тем комментарием, в котором они были расписаны, что-то не могу).
Так что возвращаться к тому, что радости мне не принесёт — желания нет. Извините.
Да, есть такое. Конверсия падает, если поле ввода промокода есть в корзине.
Но это мощный инструмент для работы с уже существующими клиентами. Делается рассылка, чтобы конверсию увеличить, клиенту предлагается уникальный промокод на сколько-то процентов. Но поле ввода доступно только тем, по кому делалась рассылка или только авторизованным.
Но это мощный инструмент для работы с уже существующими клиентами. Делается рассылка, чтобы конверсию увеличить, клиенту предлагается уникальный промокод на сколько-то процентов. Но поле ввода доступно только тем, по кому делалась рассылка или только авторизованным.
Ваша правда. Email-маркетинг вкупе с промо-кодами — сильный инструмент.
Вот только на практике, к сожалению, среднестатистический заказчик не особенно задумывается над ребаями. Тем более не задумывается о ребаях с помощью email-маркетинга. И точно не задумывается об объединении рассылок с промо-кодами.
И рассылку составлять такой заказчик, в большинстве случаев будет сам (со своим, далёким от нормального качества, подходом к составлению писем), либо наёмный работник, которому вообще всё это не надо.
А на выходе получается забитая папка «Спам» с совершенно безсодержательными и навязчивыми письмами из таких рассылок.
Описанный вами подход — удел крупных игроков e-commerce'а. Но там в ход идут уже другие инструменты, гораздо профессиональней, со статистическим анализом проводимых маркетинговых кампаний и прочими плюшками. И с собственным штатом маркетологов (нормальных, не липовых).
А среднестатистический заказчик такими возможностями не обладает.
Я перфекционист, поэтому считаю, что лучше никак, чем кое-как.
Вот только на практике, к сожалению, среднестатистический заказчик не особенно задумывается над ребаями. Тем более не задумывается о ребаях с помощью email-маркетинга. И точно не задумывается об объединении рассылок с промо-кодами.
И рассылку составлять такой заказчик, в большинстве случаев будет сам (со своим, далёким от нормального качества, подходом к составлению писем), либо наёмный работник, которому вообще всё это не надо.
А на выходе получается забитая папка «Спам» с совершенно безсодержательными и навязчивыми письмами из таких рассылок.
Описанный вами подход — удел крупных игроков e-commerce'а. Но там в ход идут уже другие инструменты, гораздо профессиональней, со статистическим анализом проводимых маркетинговых кампаний и прочими плюшками. И с собственным штатом маркетологов (нормальных, не липовых).
А среднестатистический заказчик такими возможностями не обладает.
Я перфекционист, поэтому считаю, что лучше никак, чем кое-как.
Алексей, добрый день! На одном сайте есть необходимость реализовать систему скидок с использованием Дисконтных карт. Можно к Вам обратиться за помощью в данном вопросе? Разумеется не безвозмездно )
Здравствуйте!
Обратиться можно, конечно, да только вот, к сожалению, времени нет. И в ближайшие несколько месяцев — не появится.
Но я могу дать вам пару рекомендаций, чтобы вы смогли двигаться в верном направлении :)
1. Обратите внимание на msDiscount.
2. Можете также обратиться к любому разработчику из списка пользователей сообщества. Уверяю — там много талантливых разботчиков (гораздо талантливее меня)), с которыми вы сможете прийти к каким-либо договорённостям.
3. Создать объявление о работе — тоже вариант :)
Надеюсь, помог)
Обратиться можно, конечно, да только вот, к сожалению, времени нет. И в ближайшие несколько месяцев — не появится.
Но я могу дать вам пару рекомендаций, чтобы вы смогли двигаться в верном направлении :)
1. Обратите внимание на msDiscount.
2. Можете также обратиться к любому разработчику из списка пользователей сообщества. Уверяю — там много талантливых разботчиков (гораздо талантливее меня)), с которыми вы сможете прийти к каким-либо договорённостям.
3. Создать объявление о работе — тоже вариант :)
Надеюсь, помог)
Отчасти помогли)
msDiscount уже есть.
К сожалению многие разработчики как и Вы заняты)
К вам обратился, т.к. у Вас уже были наработки по данной теме.
Может тогда подскажите как правильней решить данную задачу:
Нужно в момент регистрации пользователя проверять номер вводимой дисконтной карты (хотя бы по принадлежности к диапазону номеров) и разносить его в разные группы с разными скидками.
msDiscount уже есть.
К сожалению многие разработчики как и Вы заняты)
К вам обратился, т.к. у Вас уже были наработки по данной теме.
Может тогда подскажите как правильней решить данную задачу:
Нужно в момент регистрации пользователя проверять номер вводимой дисконтной карты (хотя бы по принадлежности к диапазону номеров) и разносить его в разные группы с разными скидками.
Я с msDiscount не работал, поэтому это гадание на кофейной гуще…
Но, первым делом, я бы изучил код msdGetDiscount-сниппета, изучил бы его логику, с какими таблицами он работает, как работает с акциями, скидками, группами пользователей и т.п.
И по аналогии написал бы плагин на событие регистрации нового пользователя, который и сделает нужную работу.
Но, первым делом, я бы изучил код msdGetDiscount-сниппета, изучил бы его логику, с какими таблицами он работает, как работает с акциями, скидками, группами пользователей и т.п.
И по аналогии написал бы плагин на событие регистрации нового пользователя, который и сделает нужную работу.
Ок, спасибо буду пытаться разобраться
Да не за что)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.