Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Baco

Користувачі
  • Публікації

    2 247
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Baco

  1. Солидарен с сообщением выше, смелый поступок, беру свою бакланку назад, позвольте узнать, какие временно\ценовые цифры на данный момент фигурируют и насколько изменилось ТЗ ?

     

    p.s. Иногда дешевле построить с дефолтного ядра, чем переписывать недоделанное. © 

  2. Прошу прощение, я перепутал оператор foreach с for, но все же в скобки фигурные я бы заключил.

    По поводу short_open_tag  - то не у каждого пользователя есть доступ к данной настройке хоста, так что полнота кода с указанием интерпритатора - хороший тон.

    По поводу нужных *_id вы напишите, дополним чем нужны, был би лишь прок.

  3. Вот стандарты кодирования под опен, вот тут мне немного непонятно:

    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();
    } 

    За проделку - однозначно +, спасибо за код, предоставленный для публики.

    tree.php

  4. В коде не увидел добавление главного рисунка + синтаксис... есть стандарты кодинга под опен, ну почему каждый новый разраб, старается по своему уставу код писать... как поддержка будет ? + если пользователь эксперементирует и у них товара не 300-800 скю, а несколько десятков К, и вы своим модулем с неотлаженными запросами что сделаете ?? правильно, грохнете нахер всю базу, и теперь у юзера - 2-ве большие проблемы:

    1. Как откатить с бекапа (если хост поддерживает)

    2. Как отладить...

    Вы хоть напишите, что БЕКАП надо делать перед импортом, БЕКАП КАРЛ !!!

     

    P.S. Логика интересна, но довести до ума и будет спрос.

  5. Коллеги, спасибо за внимание, исполнитель найден - AlexFisher.

    Если не ошибаюсь, то Alex работает по предоплате 50 % + покупка фирменного модуля в подарок.

    Функционал бы сконфигурировал, а вот с дизайном увы...

  6. 
    

    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;

    }

  7. проблема в том, что перед импортом, проверяет наличие заголовка - шаблону соотв. таблицам опена по - умолчанию, у вас - доп цена - модифицированная и не факт, что её значение находиться в той же таблице что и основная цена (если так, то за какую то минимальную оплату могу дописать импортёр) поэтому нужно дописывать не только заголовок под импорт и корректное внесение данного значения в бд, но и экспорт.

  8. Ошибка здесь (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. Все. Содержимое текста вставляем (код или цитату) в спойлер.

    bf23e35e0a.jpg

     

    Пример использования 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 или оформите соотв. уставу.

  9. к сожалению, много пунктов по вёрстке адаптивной, что я априори не делаю, мой профиль - программный код, но и по нему есть несколько уточнений, напр.:

    разбивка магазинной цены по странам, логика проверки стоимости товара, если подменены данные и при оформлении указывается другой регион для получения...

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.