-
Публікації
2 247 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем Baco
-
-
Так пусть напишет в скайп ваш прогер, подсоблю, проблемы не вижу...
-
-
mb_substr - проверь, может где фигурирует, заменить на utf8_substr.
-
Прошу прощение, я перепутал оператор foreach с for, но все же в скобки фигурные я бы заключил.
По поводу short_open_tag - то не у каждого пользователя есть доступ к данной настройке хоста, так что полнота кода с указанием интерпритатора - хороший тон.
По поводу нужных *_id вы напишите, дополним чем нужны, был би лишь прок.
-
Вот стандарты кодирования под опен, вот тут мне немного непонятно:
for ($f=1;$f<count($prod["images"]);$f++) //1 потому что 0 фотка идёт в карточку товара $this->db->query("INSERT INTO `".DB_PREFIX."product_image` SET `product_id`=".$product_id.", `image`='".$prod["images"][$f]."', `sort_order`=".$f);
тоесть уже в первом запросе, теряем одну картинку, а именно $prod["images"][1], так как $f++ в начальном запросе будет == 2, + я бы как то по стандарту уж написал...
//импорт изображений for ($f=0;$f<count($prod["images"]);$f++) { //1 потому что 0 фотка идёт в карточку товара $this->db->query("INSERT INTO `".DB_PREFIX."product_image` SET `product_id`=".$product_id.", `image`='".$prod["images"][$f]."', `sort_order`=".$f); }
вот прикреплю файл, может подсобит с выводом категорий.
пример вызова класса и вывод параметров:
$this->load->model('catalog/category'); $this->data['categories'] = $this->model_catalog_category->getCategoryTree();
а вот модель:
public function getCategoryTree() { $query = $this->db->query("SELECT c.category_id, c.parent_id, cd.name FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name ASC"); $this->load->helper('tree'); $tree = new Tree($query->rows, 'category_id'); return $tree->get_plane(); }
За проделку - однозначно +, спасибо за код, предоставленный для публики.
-
В коде не увидел добавление главного рисунка + синтаксис... есть стандарты кодинга под опен, ну почему каждый новый разраб, старается по своему уставу код писать... как поддержка будет ? + если пользователь эксперементирует и у них товара не 300-800 скю, а несколько десятков К, и вы своим модулем с неотлаженными запросами что сделаете ?? правильно, грохнете нахер всю базу, и теперь у юзера - 2-ве большие проблемы:
1. Как откатить с бекапа (если хост поддерживает)
2. Как отладить...
Вы хоть напишите, что БЕКАП надо делать перед импортом, БЕКАП КАРЛ !!!
P.S. Логика интересна, но довести до ума и будет спрос.
-
Коллеги, спасибо за внимание, исполнитель найден - AlexFisher.
Если не ошибаюсь, то Alex работает по предоплате 50 % + покупка фирменного модуля в подарок.
Функционал бы сконфигурировал, а вот с дизайном увы...
-
Вполне возможно или, скорее всего, так и есть, вектор ошибки указан, далее пусть ТС сделает вывод и примет шаги к решению вопроса...
-
найдите строку, в файле: catalog\controller\common\header.php
$parts = @explode('_', (string)$this->request->get['path']);
и поставьте заглушку:
if (isset($this->request->get['path'])) { ...
-
public function getPurchasesPro($product_id) {
$sql = "SELECT SUM(op.quantity) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) WHERE o.order_status_id = '5' AND op.product_id = '" . (int)$product_id . "' ORDER BY total DESC";
$query = $this->db->query($sql);
return $query->rows;
}
-
проблема в том, что перед импортом, проверяет наличие заголовка - шаблону соотв. таблицам опена по - умолчанию, у вас - доп цена - модифицированная и не факт, что её значение находиться в той же таблице что и основная цена (если так, то за какую то минимальную оплату могу дописать импортёр) поэтому нужно дописывать не только заголовок под импорт и корректное внесение данного значения в бд, но и экспорт.
-
require_once("catalog/model/tool/myModule.php");
$my_model = new ModelCatalogmyModuleFunc();
-
Надо тему закрепить где то в курилке, что бы такие же умники могли почерпнуть немного информации.
-
Обычный 3.14здабол...
- 1
-
Может тогда в коде, динамично, не видя пациэнта, сложно определить диагноз.
-
stylesheet.css
-
Ошибка здесь (37 строка):
<file name="catalog/view/theme/*/template/product/product.tpl"> <operation error="log"> <search position="replace" offset="13"><![CDATA[ <div class="cart"> ]]></search>
Надо посчитать в оригинальном файле кол-во строк или прописать код в файле закомментировав по инструкции.
P.S.
Уважаемые пользователи!
Если Вы заметили, в в некоторых сообщениях можно увидеть интересную функцию в ВВ-код SPOILER
Назначение ВВ-кода SPOILER состоит в том, чтобы скрыть отдельную часть текста, которая является второстепенной, а иногда не представляет интереса для других участников, и зачастую отвлекает от основного обсуждения темы. (долго прокручивать страницу надо)
Эта функция позволяет уменьшить видимую часть сообщения. На одной странице увеличивается количество сообщений, а количество страниц соответственно уменьшается, что облегчает просмотр страниц в теме.
В каких случаях целесообразно это делать? Мы рекомендуем использовать SPOILER:
- Когда требуется скрыть большой объем побочного текста. Например при обсуждении ошибок в файлах или инструкциях, где сам код, если он более 30 строк, заключается ВВ-кодом, а комментарии к ней остаются видимыми и открытыми.Пользоваться этим кодом достаточно просто. Код или цитата выделяется мышкой, далее кликаем на 3-ю пиктограмму Специальные ВВ-коды. Выбираем Spoiler. Все. Содержимое текста вставляем (код или цитату) в спойлер.
Пример использования Spoiler-а:
<?php echo $header; ?> <div class="breadcrumb-100"> <div class="breadcrumb"> <?php $w_bc_total = count($breadcrumbs); if ($w_bc_total > 0) { $w_bc_last = $w_bc_total - 1; foreach ($breadcrumbs as $i => $breadcrumb) { ?> <?php if ($i == $w_bc_last) { break; } ?> <i><span><?php echo $breadcrumb['separator']; ?></span></i><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> <i><span><?php echo $breadcrumbs[$w_bc_last]['separator']; ?></span></i><?php echo $breadcrumbs[$w_bc_last]['text']; ?><?php } ?> </div> </div> <?php echo $column_left; ?><?php echo $column_right; ?> <div id="content"><?php echo $content_top; ?> <div id="tabs" class="htabs"><a href="#tab-description"><?php echo $tab_description; ?></a> <?php if ($attribute_groups) { ?> <a href="#tab-attribute"><?php echo $tab_attribute; ?></a> <?php } ?> <?php if ($review_status) { ?> <a href="#tab-review"><?php echo $tab_review; ?></a> <?php } ?> <?php if ($products) { ?> <a href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a> <?php } ?> </div> <div id="tab-description" class="tab-content"> <div class="product-info"> <h1><?php echo $heading_title; ?></h1> <?php if ($thumb || $images) { ?> <div class="left"> <?php if ($thumb) { ?> <div class="image"> <?php if ($price) { ?> <?php if (!$special) { ?> <?php } else { ?> <span class="sale">-<?php echo $saving; ?>%</span> <?php } ?> <?php } ?> <img id="zoom" src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" data-zoom-image="<?php echo $popup; ?>" /> <a style="bottom: 0px;color: #404040;font-size: 14px;position: absolute;right: 0px;text-decoration: none;z-index: 10;" href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>" class="colorbox">zoom <i class="fa fa-search-plus"></i></a> <?php foreach ($images as $image) { ?> <a href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>" class="colorbox"></a> <?php } ?> </div> <?php } ?> <?php if ($images) { ?> <div class="image-additional"> <div id="gallery"> <a href="#" data-image="<?php echo $popup; ?>" data-zoom-image="<?php echo $popup; ?>" /> <img id="zoom" src="<?php echo $thumbadditional; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a> <?php foreach ($images as $image) { ?> <a href="#" data-image="<?php echo $image['popup']; ?>" data-zoom-image="<?php echo $image['popup']; ?>" /> <img id="zoom" src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" /></a> <?php } ?> </div> </div> <?php } ?> </div> <?php } ?> <div class="right"> <div class="description"> <div class="infoleft"> <?php if ($manufacturer) { ?> <span><?php echo $text_manufacturer; ?></span> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a><br /> <?php } ?> <span><?php echo $text_model; ?></span> <?php echo $model; ?><br /> <?php if ($reward) { ?> <span><?php echo $text_reward; ?></span> <?php echo $reward; ?><br /> <?php } ?> <span><?php echo $text_stock; ?></span> <?php echo $stock; ?><br> <?php if ($review_status) { ?> <span><?php echo $text_otzv; ?></span> <a onclick="$('a[href=\'#tab-review\']').trigger('click');" class="scroll-to-review-tab"><?php echo $reviews; ?></a> <a onclick="$('a[href=\'#tab-review\']').trigger('click');" class="scroll-to-review-tab"><i style="margin: 0px 5px 0px 10px;" class="fa fa-pencil"></i><?php echo $text_write; ?></a><br> <?php } ?> </div> <div class="inforight"> <?php if ($man_img) { ?> <p class="reiting"><a href="<?php echo $manufacturers; ?>"><img src="<?php echo $man_img; ?>" title="<?php echo $manufacturer; ?>" alt="<?php echo $manufacturer; ?>" /></a><br /></p> <?php } ?> <p class="reiting"><img src="catalog/view/theme/default/image/stars-<?php echo $rating; ?>.png" alt="<?php echo $reviews; ?>" /></p> </div> </div> <?php if ($price) { ?> <div class="price"><?php echo $text_price; ?> <?php if (!$special) { ?> <?php echo $price; ?> <?php } else { ?> <span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span> <?php } ?> <br /> <?php if ($tax) { ?> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br /> <?php } ?> <?php if ($points) { ?> <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br /> <?php } ?> <?php if ($discounts) { ?> <br /> <div class="discount"> <?php foreach ($discounts as $discount) { ?> <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><br /> <?php } ?> </div> <?php } ?> </div> <?php } ?> <?php if ($options) { ?> <div class="options"> <span class="variant"><?php echo $text_option; ?></span> <br /> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'select') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <select name="option[<?php echo $option['product_option_id']; ?>]"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($option['option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </option> <?php } ?> </select> </div> <br /> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <?php foreach ($option['option_value'] as $option_value) { ?> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> <br /> <?php } ?> </div> <br /> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <?php foreach ($option['option_value'] as $option_value) { ?> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> <br /> <?php } ?> </div> <br /> <?php } ?> <?php if ($option['type'] == 'image') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <table class="option-image"> <?php foreach ($option['option_value'] as $option_value) { ?> <tr> <td style="width: 1px;"><input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /></td> <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><a href="<?php echo $option_value['popup']; ?>" title="<?php echo $option['name'] . ': ' . $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="colorbox" rel="colorbox-option-<?php echo $option['product_option_id']; ?>"><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" /></a></label></td> <td><label class="imagename" for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label></td> </tr> <?php } ?> </table> </div> <br /> <?php } ?> <?php if ($option['type'] == 'text') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'textarea') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <textarea name="option[<?php echo $option['product_option_id']; ?>]" cols="40" rows="5"><?php echo $option['option_value']; ?></textarea> </div> <br /> <?php } ?> <?php if ($option['type'] == 'file') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="button" value="<?php echo $button_upload; ?>" id="button-option-<?php echo $option['product_option_id']; ?>" class="button"> <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'date') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="date" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'datetime') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="datetime" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'time') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" /> </div> <br /> <?php } ?> <?php } ?> </div> <?php } ?> <div class="cart"> <div class="cart-inside"> <?php if($this->config->get('themer_buttons') == 'on') { ?> <div class="wishlist"> <i class="w1"><?php echo $button_wishlist; ?></i> <i class="w2"></i> <a class="w3" title="<?php echo $button_wishlist; ?>" onclick="addToWishList('<?php echo $product_id; ?>');"></a> </div> <input type="button" title="<?php echo $button_cart; ?>" id="button-cart" class="button" /> <div class="compare"> <i class="c1"><?php echo $button_compare; ?></i> <i class="c2"></i> <a class="c3" title="<?php echo $button_compare; ?>" onclick="addToCompare('<?php echo $product_id; ?>');"></a> </div> <?php } else if ($this->config->get('themer_buttons') == 'off') { ?> <div class="wishlist"> <a class="w3" title="<?php echo $button_wishlist; ?>" onclick="addToWishList('<?php echo $product_id; ?>');"><?php echo $button_wishlist; ?></a> </div> <div class="cartbutton"> <a><input type="button" value="<?php echo $button_cart; ?>" title="<?php echo $button_cart; ?>" id="button-cart" class="button" /></a> </div> <div class="compare"> <a class="c3" title="<?php echo $button_compare; ?>" onclick="addToCompare('<?php echo $product_id; ?>');"><?php echo $button_compare; ?></a> </div> <?php } else { ?> <div class="wishlist"> <a class="w3" title="<?php echo $button_wishlist; ?>" onclick="addToWishList('<?php echo $product_id; ?>');"></a> </div> <div class="cartbutton"> <a><input type="button" value="<?php echo $button_cart; ?>" title="<?php echo $button_cart; ?>" id="button-cart" class="button" /></a> </div> <div class="compare"> <a class="c3" title="<?php echo $button_compare; ?>" onclick="addToCompare('<?php echo $product_id; ?>');"></a> </div> <?php } ?> <br /> <?php echo $text_qty; ?><br /> <span id="minus" class="quantity-operator">-</span> <input class="quantity-productcart" type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" /> <span id="plus" class="quantity-operator">+</span> <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" /> <?php if ($minimum > 1) { ?> <div class="minimum"><?php echo $text_minimum; ?></div> <?php } ?> </div> </div> <div style="text-align: center;"><?php echo htmlspecialchars_decode($this->config->get('themer_code')); ?></div> </div> </div> <div class="product-description"><?php echo $description; ?></div> </div> <?php if ($attribute_groups) { ?> <div id="tab-attribute" class="tab-content"> <table class="attribute"> <?php foreach ($attribute_groups as $attribute_group) { ?> <thead> <tr> <td colspan="2"><?php echo $attribute_group['name']; ?></td> </tr> </thead> <tbody> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table> </div> <?php } ?> <?php if ($review_status) { ?> <div id="tab-review" class="tab-content"> <div id="review"></div> <span class="variant" id="review-title"><i style="margin: 0px 5px 0px 10px;" class="fa fa-pencil"></i> <?php echo $text_write; ?></span> <b><?php echo $entry_name; ?></b><br /> <input type="text" name="name" value="" /> <br /> <br /> <b><?php echo $entry_review; ?></b> <textarea name="text" cols="40" rows="8" style="width: 98%;"></textarea> <span style="font-size: 11px;"><?php echo $text_note; ?></span><br /> <br /> <b><?php echo $entry_rating; ?></b><br /><br /> <span style="padding: 3px; background: #eee; border-radius: 5px;"><i style="font-size: 14px;" class="fa fa-thumbs-o-down"></i> <?php echo $entry_bad; ?></span> 1<input type="radio" name="rating" value="1" /> 2<input type="radio" name="rating" value="2" /> 3<input type="radio" name="rating" value="3" /> 4<input type="radio" name="rating" value="4" /> 5<input type="radio" name="rating" value="5" /> <span style="padding: 3px; background: #eee; border-radius: 5px;"><i style="font-size: 14px;" class="fa fa-thumbs-o-up"></i> <?php echo $entry_good; ?></span><br /> <br /> <b><?php echo $entry_captcha; ?></b><br /> <input style="height:36px;" type="text" name="captcha" value="" /> <img style="vertical-align: middle;" src="index.php?route=product/product/captcha" alt="" id="captcha" /><br /> <br /> <div class="buttons"> <div class="right"><a id="button-review" class="button"><i class="fa fa-share"></i><?php echo $entry_send; ?></a></div> </div> </div> <?php } ?> <?php if ($products) { ?> <div id="tab-related" class="tab-content"> <div class="box-product"> <?php foreach ($products as $product) { ?> <div> <?php if ($product['thumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> <?php if ($product['price']) { ?> <div class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span> <?php } ?> </div> <?php } ?> <?php if ($product['rating']) { ?> <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div> <?php } ?> <a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><?php echo $button_cart; ?></a></div> <?php } ?> </div> </div> <?php } ?> <?php if ($tags) { ?> <div class="tags"><i class="tags2"><?php echo $text_tags; ?></i> <?php for ($i = 0; $i < count($tags); $i++) { ?> <?php if ($i < (count($tags) - 1)) { ?> <a href="<?php echo $tags[$i]['href']; ?>"><i class="fa fa-tag"></i><?php echo $tags[$i]['tag']; ?></a>, <?php } else { ?> <a href="<?php echo $tags[$i]['href']; ?>"><i class="fa fa-tag"></i><?php echo $tags[$i]['tag']; ?></a> <?php } ?> <?php } ?> </div> <?php } ?> <?php echo $content_bottom; ?></div> <script type="text/javascript"><!-- $('.scroll-to-review-tab').click( function() { $('html, body').animate({ scrollTop: $("#tabs").offset().top }, 600); }); //--></script> <script type="text/javascript"><!-- $("#zoom").elevateZoom({ gallery:'gallery', zoomType: "inner", cursor: "crosshair", galleryActiveClass: 'active', imageCrossfade: true, zoomWindowFadeIn: 500, zoomWindowFadeOut: 750, loadingIcon: 'catalog/view/theme/default/image/loader.gif' }); //--></script> <script type="text/javascript"><!-- $(document).ready(function() { $('.colorbox').colorbox({ overlayClose: true, opacity: 0.5, rel: "colorbox" }); }); //--></script> <script type="text/javascript"><!-- $('#button-cart').bind('click', function() { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'), dataType: 'json', success: function(json) { $('.success, .warning, .attention, information, .error').remove(); if (json['error']) { if (json['error']['option']) { for (i in json['error']['option']) { $('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>'); } } } if (json['success']) { $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>'); $('.success').fadeIn('slow'); $('#cart-total').html(json['total']); $('html, body').animate({ scrollTop: 0 }, 'slow'); } } }); }); //--></script> <?php if ($options) { ?> <script type="text/javascript" src="catalog/view/javascript/jquery/ajaxupload.js"></script> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'file') { ?> <script type="text/javascript"><!-- new AjaxUpload('#button-option-<?php echo $option['product_option_id']; ?>', { action: 'index.php?route=product/product/upload', name: 'file', autoSubmit: true, responseType: 'json', onSubmit: function(file, extension) { $('#button-option-<?php echo $option['product_option_id']; ?>').after('<img src="catalog/view/theme/default/image/loading.gif" class="loading" style="padding-left: 5px;" />'); $('#button-option-<?php echo $option['product_option_id']; ?>').attr('disabled', true); }, onComplete: function(file, json) { $('#button-option-<?php echo $option['product_option_id']; ?>').attr('disabled', false); $('.error').remove(); if (json['success']) { alert(json['success']); $('input[name=\'option[<?php echo $option['product_option_id']; ?>]\']').attr('value', json['file']); } if (json['error']) { $('#option-<?php echo $option['product_option_id']; ?>').after('<span class="error">' + json['error'] + '</span>'); } $('.loading').remove(); } }); //--></script> <?php } ?> <?php } ?> <?php } ?> <script type="text/javascript"><!-- $('#review .pagination a').live('click', function() { $('#review').fadeOut('slow'); $('#review').load(this.href); $('#review').fadeIn('slow'); return false; }); $('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>'); $('#button-review').bind('click', function() { $.ajax({ url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>', type: 'post', dataType: 'json', data: 'name=' + encodeURIComponent($('input[name=\'name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()), beforeSend: function() { $('.success, .warning').remove(); $('#button-review').attr('disabled', true); $('#review-title').after('<div class="attention"><img src="catalog/view/theme/default/image/loading.gif" alt="" /> <?php echo $text_wait; ?></div>'); }, complete: function() { $('#button-review').attr('disabled', false); $('.attention').remove(); }, success: function(data) { if (data['error']) { $('#review-title').after('<div class="warning"><img src="catalog/view/theme/default/image/close.png" alt="" class="close" />' + data['error'] + '</div>'); } if (data['success']) { $('#review-title').after('<div class="success"><img src="catalog/view/theme/default/image/close.png" alt="" class="close" />' + data['success'] + '</div>'); $('input[name=\'name\']').val(''); $('textarea[name=\'text\']').val(''); $('input[name=\'rating\']:checked').attr('checked', ''); $('input[name=\'captcha\']').val(''); } } }); }); //--></script> <script type="text/javascript"><!-- $('#tabs a').tabs(); //--></script> <script type="text/javascript" src="catalog/view/javascript/jquery/ui/jquery-ui-timepicker-addon.js"></script> <script type="text/javascript"><!-- $(document).ready(function() { if ($.browser.msie && $.browser.version == 6) { $('.date, .datetime, .time').bgIframe(); } $('.date').datepicker({dateFormat: 'yy-mm-dd'}); $('.datetime').datetimepicker({ dateFormat: 'yy-mm-dd', timeFormat: 'h:m' }); $('.time').timepicker({timeFormat: 'h:m'}); }); //--></script> <script> var counter = 1; var min = <?php echo $minimum; ?>; $('input[name="quantity"]').change(function () { var value = parseInt($(this).val()); var val = value % counter; if (val) { value = value - val; } $(this).val(value); if (isNaN(parseInt($(this).val()))) { $(this).val(min); } else { if ($(this).val() < min) { $(this).val(min); } } }); $('.quantity-operator').click (function () { if ($(this).attr('id') == 'minus') { if (parseInt($('input[name="quantity"]').val()) > min) { $('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val()) - counter); } } else { $('input[name="quantity"]').val(parseInt($('input[name="quantity"]').val()) + counter); } }); </script> <?php echo $footer; ?>
И уберите файл со скачивания, если он не Freeware или оформите соотв. уставу.
-
к сожалению, много пунктов по вёрстке адаптивной, что я априори не делаю, мой профиль - программный код, но и по нему есть несколько уточнений, напр.:
разбивка магазинной цены по странам, логика проверки стоимости товара, если подменены данные и при оформлении указывается другой регион для получения...
-
А с чем помогать то ? куда дошли, где проблемы ? или ждёмс, что бы написали вам код, вы скопипастили и могли спокойно выполнять заявку на ремонт ?
-
По ссылке нет ничего, бюджет каков ?
-
поменяй:
$this->customer->getId()
на:
$this->customer->getFirstName()
-
поставь перед строкой:
require_once(DIR_SYSTEM . 'library/customer.php');
-
Если проще, то вот так:
$result = $this->db->query("SELECT * FROM `order_history` WHERE `username` = ' .$this->customer->getId() . '");
-
$result = $this->db->query("SELECT `id`,`status`,`name_service`,`imei`,`reply`, FROM `order_history` WHERE `username` = ' .$this->customer->getId() . '");
Срочно! ИМ на ОпенКарт
в Курилка
Опубліковано:
Солидарен с сообщением выше, смелый поступок, беру свою бакланку назад, позвольте узнать, какие временно\ценовые цифры на данный момент фигурируют и насколько изменилось ТЗ ?
p.s. Иногда дешевле построить с дефолтного ядра, чем переписывать недоделанное. ©