Все косяки исправлены в чертовой, адской опенкартине. Но сейчас заказчик придумал  новую фичу, которую никто не знает как сделать и как саму логику реализовать.
Вот захотел он чтобы при сумме заказа (считается от общей суммы) присваивались бонусные баллы, а когда из набирается 20, то они равны 1. у.е. Т.е. 1 балл = 1 евро и за них можно купить товар. Неделю ломаю голову, перепробовал всё. С горя пойду напьюсь и может что придумаю. Или же коллективный разум призову на помощь.
Что делать, как жить дальше?

Комментарии (11)

a3x 29. октября, 2013.г.  
 0 0
С PHP все начинают:) правда в универе у нас первый был Python, а после php, а не наоборот

Все новоиспечённые профессиональные веб-разработчики? Ведь так-то у людей бывает разный предшествующий опыт. Кто-то начинал с "васиков и пасцалей" ещё в оффлайне, до того, как PHP получил хоть какое-то распространение.

не одним - но ты работаешь именно со синтаксисом его, тогда из-за чего ты его не осилил если с синтаксисом все ок? PHP синтаксисом похож на C подобные языки, тебе не что не мешает написать свою функцию если тебя не устраивают те что по дефу написаны)

К синтаксису тоже есть претензии, напр., хоть та же ассоциативность тернарного оператора "?:". Больше меня напрягает семантика, типа напр., что делает оператор "==" или "||", *непоследовательность* существующих функций и качество живых программ. Сплошные *сюрпризы*, от которых руки опускаются. Вместо потуг в переписывании PHP на собственный лад, мне проще его избегать.

php не идеален и не лучший, но за счет своей простоты - он используется по всюду... если он такой хреновый то нафига на нем разрабатываются движки и куча сайтов?

По-моему, у него низкий порог вхождения, но он не простой. Хелло-ворлд и сайт-визитку напишет каждый. *Начать* разрабатывать свою CMS тоже не сложно. Сделать качественный поддерживаемый продукт сложно. Не знаю в чём секрет успеха. Есть мнение, что это результат коварного плана.[1] %))

ну Perl универсальный язык - а не конкретно язык для веба, PHP же строился именно как веб-язык  , и Perl сложнее его, странно то что ты смог осилить Perl но не смог понять Php :)

У Perl'а порог вхождения выше, но уже довольно скромный набор систематических знаний развязывает руки и позволяет эффективно работать *без* особых сюрпризов. В совершенстве знать Perl, по-моему, нереально, но *понимать* довольно легко. Сортировка с предикатом типа "sort P(a,b) LIST" (кстати, не на месте) ведь интуитивно понятнее, чем сортировка в PHP? Хотя PHP разрабатывался для веба, нынешние крупные программы, насколько могу судить, написаны в стиле языков общего назначения - лишь шаблоны (со вложенным кодом) соответствуют исконному духу.

это ссылка ничего не доказывает, почти в какой сайт не плюнь - ядро у него базируется на php ;) (не говорю про сайты-визитки на голом html+css)

Да. Йа просто сослался на более компетентное и лучше изложенное мнение о недостатках PHP, нежели моё. Йа спорить не хочу, просто кагбе говорю iddqd: «Есть люди, которые считают, что в ПХП щястя нет».

[1] http://dklab.ru/chicken/nablas/55.html
lame 28. октября, 2013.г.  
 0 0
ИМХО. Простота PHP иллюзорна. И языки ведь не одним синтаксисом определяются. Непредсказуемо названные функции (коих МНОГО) делают неожиданные вещи, взаимодействуют по неочевидным правилам - это сошло бы за гигантскую библиотеку/свалку стороннего кода. В существующих проектах это соткано в гектары непонятности. Если есть опыт с другими ЯП, то это, скорее всего, только вредит пониманию происходящего: нужно знать именно PHP и его особенности (странности). На страницах, посвящённых критике PHP (типа [1]), есть конкретика (не всё там придирки). Лично мне даже Perl кажется логичнее и проще (!), а PHP йа честно ниасилил.

[1] http://webonastick.com/php.html


С PHP все начинают:) правда в универе у нас первый был Python, а после php, а не наоборот, не одним - но ты работаешь именно со синтаксисом его, тогда из-за чего ты его не осилил если с синтаксисом все ок? PHP синтаксисом похож на C подобные языки, тебе не что не мешает написать свою функцию если тебя не устраивают те что по дефу написаны), php не идеален и не лучший, но за счет своей простоты - он используется по всюду... если он такой хреновый то нафига на нем разрабатываются движки и куча сайтов?   ну Perl универсальный язык - а не конкретно язык для веба, PHP же строился именно как веб-язык , и Perl сложнее его, странно то что ты смог осилить Perl но не смог понять Php :) это ссылка ничего не доказывает, почти в какой сайт не плюнь - ядро у него базируется на php ;) (не говорю про сайты-визитки на голом html+css)
a3x 28. октября, 2013.г.  
 0 0
ИМХО. Простота PHP иллюзорна. И языки ведь не одним синтаксисом определяются. Непредсказуемо названные функции (коих МНОГО) делают неожиданные вещи, взаимодействуют по неочевидным правилам - это сошло бы за гигантскую библиотеку/свалку стороннего кода. В существующих проектах это соткано в гектары непонятности. Если есть опыт с другими ЯП, то это, скорее всего, только вредит пониманию происходящего: нужно знать именно PHP и его особенности (странности). На страницах, посвящённых критике PHP (типа [1]), есть конкретика (не всё там придирки). Лично мне даже Perl кажется логичнее и проще (!), а PHP йа честно ниасилил.

[1] http://webonastick.com/php.html
lame 28. октября, 2013.г.  
 0 0
страшно только на первый взгляд, но имея желание разобраться это можно сделать, тем более тебе не надо само ядро понимать как оно работает, а все во лишь править уже готовые "модули"  
lame 28. октября, 2013.г.  
 0 0
в любом огромном коде - будет так-же само, тебе придется понимать чужой код :), CMS если она построена по структуре MVC, у нее все будет разбито по частям, и каждый контроллер, модель, и шаблон, будет только выполнять только конкретные операции, тебе не надо ковыряться в куче говна, а это говно и так уже красиво отсортировано Например: тебе надо в opencarte добавить эту переменную bonus в профиль, пользователя куда-то в order например, заходим туда, смотрим ссылку пути а адресной строке .........../index.php?route=account/order , все теперь мы точно знаем куда нам надо идти это в:

1) catalog/controller/account/order
2) catalog/model/account/order
3) catalog/view/account/order

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

конечно если сайт сделан, просто все в куче говна, я думаю что для тебя не новость что весь сайт можно разместить только в одном файле index.php (даже opencart можно), ну картинки конечно будут в каталоге отдельно) а весь код в одном файле - вот это ад
iddqd (42) 28. октября, 2013.г.  
 0 0
Да, вот поддержу предыдущего оратора - отличается лишь синтаксис. А вот разбираться в чужом коде, без единого коммента и тем-более в какой-то самописной CMS я считаю адом.
lame 28. октября, 2013.г.  
 0 0
ну не знаю php очень простой язык(даже сказал бы добрый - мало к чему придирается - имхо не строгий язык), если сравнивать его с другими, и для веб-программинга мне кажется что идеально подходит, да и почти все веб сайты построены именно на нем

но кажется, что жить легче, когда не имеешь дел с ПХП: не пишешь на нём, не разбираешь чужие сочинения, вообще не впускаешь в мозг. По крайней мере моей "логике" там очень неуютно.
дык если не в php то в любом другом коде так-же придется разбираться, если конечно ты не 1 работаешь(что бывает редко), а где твоей логике уютно? все языка программирования строится на 1 логике, отличается лишь только синтаксис языка - но не логика его. :)
a3x 28. октября, 2013.г.  
 0 0
У меня похожая история. Не претендую на объективность, но кажется, что жить легче, когда не имеешь дел с ПХП: не пишешь на нём, не разбираешь чужие сочинения, вообще не впускаешь в мозг. По крайней мере моей "логике" там очень неуютно.
iddqd (42) 28. октября, 2013.г.  
 0 0
Да я не программер на ПХМ вообще, я чисто верстальщик - html + css. Ну и развитая логика вкупе со начальными знаниями любого языка программирования - алгоритмы, всякие пасцали да васики и в дестве на ассемблере мутил. Что-то в голове осталось, но учился на финансиста, что вообще в другую степь. В итоге получилось то что есть  - недопрограммист.
lame 27. октября, 2013.г.  
 0 0
Ну саму задачу можно реализовать так:
1) Добавляем в базу дополнительное поле например Points, в таблицу пользователей в которой хранится вся информация о нем а так-же о его заказах.
2) Дальше дописываем данное считывание поля в Controllere, Modele и Views (это надо делать как на стороне frontenda так и на стороне backenda) - чтоб в админке была дополнительная колонка с баллами, ну и сам пользователь у себя в профиле мог видеть их, надо будет просмотреть все шаблоны которые выводят информацию о заказе, туда и включить это наше поле из таблицы добавленное пунктом 1., как-бы не думаю что проблема будет к товару добавить дополнительное поле в шаблоне как баллы.
3) Дальше нужна сама схема как это должно работать, и как эти баллы будут начисляться.
4) Нам нужно будет общаться в контроллер оплат, то есть чтоб баллы начислялись только после того как товар уже оплачен(если систем оплат много - то в каждом контроллере придется это прописывать), ну там по сути ничего сложно а просто один запрос к базе (который увеличит этот счетчик баллов конкретного юзера) и все.
5) Дальше нам надо что-то с этими баллами сделать чтоб они как-то работали а не просто набирались для красоты, есть вариант такой попроще, что после того например как пользователь собирает своих 20 баллов, они будут отниматься от общей суммы просто тупо $total = $price - $bonus; , ну само собой с проверками без IF не обойтись) IF понадобиться на проверку количества бонусов собранных, и понадобиться на переменную $total, она у нас не может быть меньше 0, то например товар стоит 10 еуро, а бонус у нас -20 еуро и уже будет не гуд), ну и как-то так.

П.С может есть какие-то готовые модули(я думаю что что-то должно быть в таком духе), ну на крайняк чуток под себя переделать и все, может проще будет купить за каких 20 баксов и радоваться а с заказчика содрать и эту сумму + типа работа
a3x 27. октября, 2013.г.  
 1 0
Подвязывай с ПХП - нет там щястья.
Похожие записи