Немного поспешил со способом - писал на два фронта
Скажите, как именно пользователь будет выбирать вариант цены: с помощью чекбоксов или просто поставив количество товара в поле с соответствующей ценой? От этого зависит способ реализации.
Вообще алгоритм такой: если выбран 1 чекбокс (ну или другой тип), то цена равна 1 варианту цены. В противном случае цена равна второму варианту.
Хотя тут возникает проблема - как определить, выбран или не выбран чекбокс, если он был изменен? Скорее всего, с помощью ява-скрипт. Тут надо подумать, как это сделать. Либо в крайнем случае просто внести небольшие изменения в файл nopcart.js и добавить один параметр в функцию AddToCart кнопки В КОРЗИНУ.
если пользователь будет просто ставить колич-во товара, то он может ступить (как бывает очень часто) и поставить количество товара везде, система обалдеет тогда.
В общем я как понимаю нужно ставить 2 радио кнопки либо в шаблоне до нажатия кнопки купить, либо на странице выбора товара (что проще?) и количество товара оставить прежним, в одном поле. Пользователь выбирает цену и количество товара, когда жмет кнопку далее по идее форма общая на странице должна собрать все поля, радио-кнопки, чекбоксы и послать их в скрипт. Так везде ведь происходит, неужели у корзины нельзя через форму данные собрать?
поддержка еще есть?
или уже кончилась?
Попробовал установить корзину, и с ходу столкнулся с проблемами, которые вряд ли совместимы с номером версии (они решаются в самых первых версиях).
1. Модуль неверно работает при установке MODx не в корневую папку.
2. Сильно раздражает нарушение верстки на страницах, где вызывается корзина – а оказывается все очень просто: первыми строками в файле CSS зачем-то задается стиль BODY.
3. Наличие в CSS нестандартных описаний прозрачности также напрягает, тем более, что все равно выполняется JavaScript и совершенно не обязательно писать это в CSS.
4. Насколько я понимаю, украинская валюта называется на украинском языке гривнi (произносится как «грывни»), а на русском – гривны, а название «гривни» неправильное с любой точки зрения. А то, что после установки по умолчанию предлагаются не рубли, а гривны – вообще странно.
5. Неверно в телефонном номере разрешать только цифры, например (499) 123-45-67, то есть нужно разрешать еще пробелы, тире и круглые скобки (последнее особо важно, например, для мобильных телефонов).
пока на некоторое время пропаду. До конца апреля завал с работой, некогда сюда заглядывать

Если что срочное, пишите мне на мыло. Как только освобожусь, появлюсь здесь.
Да. Корзина не загнулась, а планируется ее развитие и дальше, в т.ч. и в направлении вышеупомянутых проблем.
Еще скажу, в скрипте корзины этот код:
function log() {
document.getElementsByTagName('body')[0].innerHTML += '<div id="log"></div>';
document.getElementsByTagName('body')[0].innerHTML += '<div id="notice"></div>';
}
window.onload = log;
не слишком удачное решение, так как он может конфликтовать с другими программами на JavaScript (а именно window.onload = log).
Да, я его исправил в новой версии. Как только освобожусь, выложу обновление
Quote from: Bredova at May 29, 2009, 04:19 AM
А насколько небольшого? Мне просто надо понять, смогу ли я воспользоваться Вашими трудами или все же я "попала" на написание собственного магазина.
В принципе можно использовать данную корзину для любого магазина, в том числе и большого. Просто если для каждого товара создается свой документ MODx, то много товаров дадут большую нагрузку на MODx. Но корзину с минимальными доработками можно использовать и для магазина, где все товары хранятся в отдельной таблице и дополнительные документы MODx не создаются. А вообще в любом случае потребуются доработки, так как в том виде, как тут выложена, корзина нормально не работает.