Перейти к содержанию

glide

Новичок
  • Публикаций

    10
  • Зарегистрирован

  • Посещение

Репутация

3 Обычный

Информация о glide

  • Звание
    Пользователь
  1. Спасибо! Вроде, разобрался! Еще вопрос. Как реализован механизм передачи данных из контроллера в представление? В контроллере создал переменную $myvar = "Hello!";. Пытаюсь ее передавать следующим образом: $this->data['myvar'] = $myvar;В шаблоне рисую: <?php echo "$myvar";?>Получаю ошибку: Notice: Undefined variable: myvarТ.е., такое впечатление, будто эта переменная еще где-то описывается. Где?
  2. glide

    Разбираемся в коде движка.

    Господа, пытаясь осмыслить код движка, столкнулся с некоторыми моментами, недоступными для моего понимания. Поясните, кто в курсе, - что происходит на финальном этапе формирования заказа? Пройдя все этапы формирования (набор продуктов, указание адреса доставки, формы оплаты и пр..), мы попадаем на страницу: /index.php?route=checkout/confirm И здесь есть магическая кнопка: "Подтвердить заказ" Ее код: <a id="checkout" class="button"><span>Подтвердить заказ</span></a> <span>Подтвердить заказ</span> <a id="checkout" class="button"><span>Подтвердить заказ</span></a>Кто пояснит - где описывается действие на нажатие этой ссылки ?Скажу откровенно - никогда не сталкивался с подобными конструкциями.
  3. При чем здесь home.php и cart.php?Сделайте так, как написано здесь. И будет счастье.
  4. не нужно.Все подробно описано здесь. Достаточно к картинке добавить идентификатор. Цитирую: Т.е., правим шаблон вывода продуктов. Там где тег img, добавляем id.Было: Стало:
  5. ??? Почему ,txt??? Вы должны редактировать файлы .php! А где написано что нужно добавлять в конец файла???Все ж понятно написано. Открывайте catalogcontrollerproductscategory.php. Ищите в нем формирование массива products: $this->data['products'][] = array( 'name' => $result['name'], 'model' => $result['model'], 'rating' => $rating, 'stars' => sprintf($this->language->get('text_stars'), $rating), 'thumb' => image_resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')), 'price' => $price, 'special' => $special, 'href' => $this->model_tool_seo_url->rewrite($this->url->http('product/product&product_id=' . $result['product_id'])));Добавляйте в него передачу идентификатора ("та самая строчка"): $this->data['products'][] = array( 'id' => $result['product_id'], /*это та самая строчка*/ 'name' => $result['name'], 'model' => $result['model'], 'rating' => $rating, 'stars' => sprintf($this->language->get('text_stars'), $rating), 'thumb' => image_resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')), 'price' => $price, 'special' => $special, 'href' => $this->model_tool_seo_url->rewrite($this->url->http('product/product&product_id=' . $result['product_id'])));Правьте шаблон catalogviewthemedefaulttemplateproductcategory.tpl, просто в нужное место (там где цикл отрисовки товаров)добавив саму кнопку: <a class="button_add_small" href="#" onclick="buyProduct(<?php echo $products[$j]['id']; ?>);return false;" id="add_to_cart<?php echo $products[$j]['id']; ?>" class="buy"></a>Ну и не забудьте добавить в код JS-скрипт! Его можно добавить куда угодно! Хоть сюда же, в шаблон вывода перечня товаров. В самом начале!Но если Вы захотите использовать эту кнопку не только из перечня товаров, а например и в последних.. или популярных товарах, то лучше этот скрипт добавить в общее для всех модулей место. Таковым местом может быть шабло header.tpl. Вот в него в начало и добавляйте. Вроде ж, все просто.
  6. Мне этот кнопочк не совсем понравился. Не было эффекта анимации. Возможно, при добавлении к атрибуту "id" изображений товаров идентификатора (id="image<?php echo $products[$j]['id']; ?>") проблема бы и решилась, но я пошел по предложенному здесь пути. Кроме того, при добавлении товара этим кнопочком, автоматом перебрасывало в корзину. А мне было критично оставаться в том месте, откуда происходило добавление. Дк, их не надо менять! Нужно просто дописать в нужные места нужные участки кода! Сделайте как написано здесь и все получиться!Я сделал так. В начало catalogviewthemedefaulttemplatecommonheader.tpl добавил сам JS-скрипт. В контроллер вывода перечня продуктов catalogcontrollerproductscategory.php добавил идентификатор: 'id' => $result['product_id'], /*это та самая строчка*/В шаблон вывода перечня продуктов catalogviewthemedefaulttemplateproductcategory.tpl добавил кнопку: <a class="button_add_small" href="#" onclick="buyProduct(<?php echo $products[$j]['id']; ?>);return false;" id="add_to_cart<?php echo $products[$j]['id']; ?>" class="buy"></a>Ну и для анимации - вышеописанный финт с идентификатором для изображения товара.
  7. Не знаю, может есть ответ (я не нашел), а может тема больше не актуальна, но тем не менее, напишу. Вдруг, кому будет полезно. Все очень просто.Для возможности добавления количества нужно внести изменения в 2-х местах. 1. В самом java-скрипте, любезно предоставленном здесь. 2. В нужный шаблон добавить поле input и подправить вызов функции buyProduct(), добавив в нее передачу количества. Подробно: 1. Добавляем переменную количества товара в скрипт: 2. В нужное место нужного шаблона (например, category.tpl) добавляем поле input: <input type = 'text' id = 'qnty_<?php echo $products[$j]['product_id']; ?>' name="qnty_<?php echo $products[$j]['product_id']; ?>" size="2" value="1">Как видно, ID поля формируем на основе кода продукта с приставкой "qnty_"И немного модифицируем вызов функции buyProduct(), добавив в нее передачу значения поля input: Вот и все. :cry:
  8. А можно по-подробнее?Этот модуль у меня работал на 1.4.7.Поставил ocStore0.1.3 (на opencart1.4.8, к слову, то же самое), к нему прикрутил модуль opencart-1-4-8-15-export-import.zip.Пытаюсь втягивать файл, созданный экспортом из 1.4.7, - выдает ошибку:The filename /tmp/phpsV5KFa is not readableУже пробовал сначала экспортировать текущую (демо) базу в XLS, а затем этот же файл втягивать - все то же. "Лошадь идет вдоль борозды". Куда копать?
  9. Согласен, но при втягивании через CSV мы не страхуем себя от ошибок (нужно ведь указывать артикул в точности как в базе). Кроме того, при формировании такого файла, нужно по-любому будет эти артикулы (поля model или sku таблицы _product) обязательно указывать. А если товаров несколько тысяч - это может быть крайне проблематично. Мысль на счет CSV-файла изначально была. Да, очень удобно было бы формировать его на основе приходной накладной, полученной от поставщика. Но нюанс с артикулами все портит. Да, можно договориться, чтобы поставщик указывал в накладной свои артикулы. Но! Не факт что эти артикулы совпадут с нашими в базе, а кроме того, если поставщиков несколько, у каждого, по-любому, эти артикулы будут разные.
  10. Wanted Предлагаю объединить усилия. Основная цель - отказаться от учета в 1С. Имея весь ассортимент в нормальном SQL и пользоваться деревянными продуктами (1С) считаю просто недопустимым. На мой взгляд, можно пойти по следующему пути. Переработать модуль экспорта/импорта. Т.е., сам модуль оставить практически без изменений (только убрать количество), но его основная задача - заливать (обновлять) весь ассортимент в базу. Второй момент - момент прихода товара. Чтобы не мудрствовать лукаво, думаю можно использовать стандартные средства движка. Только покупку переделать в поставку. В итоге, при выборе номенклатуры, она будет отображаться в, условно говоря, "корзине" и будет кнопка "Добавить на склад". При нажатии, будет запускаться процедура обновления количества товара (quantity) в таблице _product. А также, делаться запись в специально созданную для этих целей таблицу (группу таблиц). Полагаю, эта таблица должна иметь тот же вид что и группа таблиц _order. Единственное, нужно фиксировать не расход, а приход. Понятие о том как оно должно быть есть. Жаль, очень мало знаний об особенностях движка.
  11. Доброго времени суток.Интересует вопрос - как реализован (и реализован ли вообще) момент учета прихода товара?Т.е., при получении нового товара просто меняется его количество, либо же есть механизм учета приходных накладных? Если же такового механизма не существует, то как тогда выходят из положения? Ведь это же важно знать - сколько, когда и какого товара было получено в магазин!Спасибо.
  12. Чтобы не создавать новыую тему, напишу сюда.В сборке с сайта есть группа покупателей "Оптовики". Так и не нашел нигде инструмента для задания цен для этой группы покупателей. Т.е., конечно, есть спец. поля в редакторе товара "Скидки" и "Специальное", но!во-первых, добавить можно только абсолютную цену. Просто процент уменьшения стоимости нельзя (я не нашел).во-2-х, Это что, если у меня каталог, предположим, на 2000 позиций, я что, вручную буду пересчитывать цены на все позиции????? как-то, хлопотно это...Т.е, на мой взгляд, было бы удобно (и, наверное, логично) добавить процент снижения цены прямо в разделе редактирования групп покупателей. Т.е., название группы, скидка в %. Ведь для чего еще нужны группы, как не для получения специальных условий?Но может все это есть? Я просто не внимательно изучал возможности скрипта!?ps. Или другой вариант. Должна быть возможность задать скидку для группы покупателей не только для конкретной позиции, но и еще индивидуально для каждой группы товаров. И, наверное, это будет правильнее, т.к., на разные категории (группы) товаров могут быть разные скидки.
  13. Вот это уже что-то.Спасибо. Направление для дальнейшего копания теперь ясно.
  14. Мониторю базу. Добавляю товар в корзину и обновляю эту таблицу . НИЧЕГО! Делаю переход на другую страницу в магазине, - появляются данные в поле cart. Какой-то не понятный механизм сохранения данных. Читал о MVC, CakePHP. Суть понятна. Не ясны детали. Относительно OpenCart - очень хотелось бы найти описание назначения методов, применяемых в движке. Путь слепого котенка в черной комнате - очень долог. Для того чтобы ориентироваться в движке, нужно полностью изучить и осознать весь код. И процесс этот отнюдь не быстрый :evil:
×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.