alexand Опубликовано 4 апреля, 2011 Жалоба Поделиться Опубликовано 4 апреля, 2011 Ребята. Добавил в БД в продукты новую строку forma (tyneint(1)), что прописать в карт.класс.пшп и что написать в картютплю. Что если у товара в базе, в таблице продуктов, значение form = 0 то первая форма , если form = 1 то втарая форма, и если товары где форм и 1 и 2, то третья форма. Помогите! Поподробней. Формы имеются. Цитата Ссылка на сообщение Поделиться на другие сайты
alexand Опубликовано 4 апреля, 2011 Автор Жалоба Поделиться Опубликовано 4 апреля, 2011 Помогите пожалуйста Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 6 апреля, 2011 Жалоба Поделиться Опубликовано 6 апреля, 2011 Ну для начала надо научиться изъясняться по русски.Можно поискать курсы какие или учебники для 5-6 классов.Во всяком случае дайте кому-нибудь из знакомых почитать, что за пост вы написали."И они может будут, если может, долго-долго стучаться по Ваш хеаду." Цитата Ссылка на сообщение Поделиться на другие сайты
Гость Опубликовано 6 апреля, 2011 Жалоба Поделиться Опубликовано 6 апреля, 2011 Может быть человек иностранец, зачем вы так сразу?PS что такое картютпля? Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 6 апреля, 2011 Жалоба Поделиться Опубликовано 6 апреля, 2011 cart.tpl подозреваюКаждый второй получается иностранец.Лениться не надо. Хочешь что бы тебе помогли - будь добр изложи проблему доступно.Прочитав уже раз 15 так и не смог понять чего человек хочет добиться."Ребята. Добавил в БД в продукты новую строку forma (tyneint(1))" - все после этого пошла нечленораздельная брань какай-то.--------------------------------------------------------После 20 прочтения, смог разгадать эти иероглифы, а написано здесь вот что...............Ребята.Я добавил в БД в таблице `products` новое поле forma типа tinyint(1).Теперь я хочу, что бы пользователю в корзине выводились разные формы регистрации заказа.Тип формы, должен определяться значениями как раз этого поля form у продуктов находящихся в корзине.Подскажите какие изменения надо внести в Cart.class.php и cart.tpl, заранее спасибо.--------------------------------------------------------Удобнее будет создать свойство товара "тип формы покупки" для всех категорий.Посмотреть ID этого свойства (задумчиво посмотреть и запомнить).В Cart.class.php в функции show_cart() в конец тела цикла foreach($variants as $k=>$variant) добавить:$q = sql_placeholder("SELECT `value` FROM `properties_values` WHERE `product_id`=? `property_id`='ID вашего свойства' LIMIT 1;",$variant->product_id);$this->db->query($q);$forma_property = $this->db->results();if($forma_property)$forma_values[] = $forma_property->value;Так же добавить перед "// Передаем товары в шаблон"$unique_fvalues = array_unique($forma_values);$this->smarty->assign('unique_fvalues', $unique_fvalues);Решение, что называется, в лоб. Взять для каждого варианта товара в корзине модель товара, к которой он принадлежит. Узнать значение нужного нами свойства для этого товара. Добавить в массив.После отфильтровать массив, оставив только уникальные значения.Передать массив уникальных значений в шаблон.Соответственно в cart.tpl можете пользоваться массивом $unique_fvalues как только заблагорассудится. Ну или в Cart.class.php его обработать и передать в шаблон что-то другое.В cart.tpl для вывода разных форм использовать очевидно {if}{/if} или другие условные операторы smarty.--------------------------------------------------------PS Решение плохое. Правильно будет, собрать все product_id вариантов в корзине в один массив и после выполнения цикла попросить БД:$q = sql_placeholder("SELECT `value` FROM `properties_values` WHERE `product_id` IN (?@) `property_id`='ID вашего свойства';",$products_ids);Правильно, но лень править. Вы же ленитесь писать понятно. Цитата Ссылка на сообщение Поделиться на другие сайты
alexand Опубликовано 7 апреля, 2011 Автор Жалоба Поделиться Опубликовано 7 апреля, 2011 alaster, спасибо, сделал как ты написал. Потом в cart.tpl прописал для проверки: {if $unique_fvalues == 1} blabla {/if} {if $unique_fvalues == 0} eee {/if}И при любом варианте товара, со значениями 1 или 0, всё равно выпадает только "еее" - значение 0. Сбегал в БД, и посмотрел в properties_values, там хорошо видно ид товара и ид свойства(77 в этом случае) и Value к ним (всего 4 товара со значением value "0" и 6 товаров с value "1").Что делать? Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 7 апреля, 2011 Жалоба Поделиться Опубликовано 7 апреля, 2011 Распечатайте значения через echo или print, которые добавляются в цикл, распечатайте SQL запросы.Вероятнее всего ошибка в $forma_values[] = $forma_property->value;Надо : $forma_values[] = $forma_property[0]->value;После этого вставьте отладочную печать printf ("%s<br>",$forma_property[0]->value);Можно так же вывести строку SQL запроса - и проверить, ее корректность ручками.Куда все будет выведено предсказать не берусь. При необходимости в файл какой-нибудь скидывайте.Есть еще отладчик встроенный в smarty. Но им мне пока пользоваться не приходилось)PS В обсуждениях еще на array_unique ругаются (мол не пашет), но у меня он прекрасно работает. Цитата Ссылка на сообщение Поделиться на другие сайты
alexand Опубликовано 14 апреля, 2011 Автор Жалоба Поделиться Опубликовано 14 апреля, 2011 Добавил строки, и опять ничего. Слушай, я смотрю Вы разбираетесь, parazit150 - skype или 4179138 ася.. напишите, если сделаете, то денежное вознагрождение дадим. Просто надо, а незнаем как сделать. Спасибо в заранее Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 14 апреля, 2011 Жалоба Поделиться Опубликовано 14 апреля, 2011 Отвечено в аську. Цитата Ссылка на сообщение Поделиться на другие сайты
alexand Опубликовано 14 апреля, 2011 Автор Жалоба Поделиться Опубликовано 14 апреля, 2011 почему то не показывает. Дай аську свою. Цитата Ссылка на сообщение Поделиться на другие сайты
alaster Опубликовано 14 апреля, 2011 Жалоба Поделиться Опубликовано 14 апреля, 2011 ICQ 465 557 260 Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.