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

Товары сеткой


surlan

Recommended Posts

Подскажите, как сделать товары сеткой по-умолчанию? Это не стандартный category.tpl

Вот код:


<?php require( DIR_TEMPLATE.$this->config->get('config_template')."/template/common/config.tpl" );  $themeConfig = (array)$this->config->get('themecontrol'); $DISPLAY_MODE = 'grid'; if( isset($themeConfig['cateogry_display_mode']) ){ $DISPLAY_MODE = $themeConfig['cateogry_display_mode']; } $MAX_ITEM_ROW = 3;  if( isset($themeConfig['cateogry_product_row']) && $themeConfig['cateogry_product_row'] ){ $MAX_ITEM_ROW = $themeConfig['cateogry_product_row']; } $categoryPzoom = isset($themeConfig['category_pzoom']) ? $themeConfig['category_pzoom']:0;  ?> <?php echo $header; ?> 
<div id="breadcrumb">
   <div class="breadcrumb"> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> </div>
   <!--<h1 class="title-category"><?php echo $heading_title; ?></h1>--> 
</div>
<div id="group-content">
   <?php if( $SPAN[0] ): ?> 
   <div class="span<?php echo $SPAN[0];?>"> <?php echo $column_left; ?> </div>
   <?php endif; ?>  
   <div class="span<?php echo $SPAN[1];?>">
      <div id="content">
         <?php echo $content_top; ?>            <?php if ($categories) { ?>   <!--<h2><?php echo $text_refine; ?></h2>-->   
         <div class="category-list" style="display: none;">
            <?php if (count($categories) <= 5) { ?>     
            <ul>
               <?php foreach ($categories as $category) { ?>       
               <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
               <?php } ?>     
            </ul>
            <?php } else { ?>     <?php for ($i = 0; $i < count($categories) { ?>     
            <ul>
               <?php $j = $i + ceil(count($categories) / 4); ?>       <?php for (; $i < $j; $i++) { ?>       <?php if (isset($categories[$i])) { ?>       
               <li><a href="<?php echo $categories[$i]['href']; ?>"><?php echo $categories[$i]['name']; ?></a></li>
               <?php } ?>       <?php } ?>     
            </ul>
            <?php } ?>     <?php } ?>   
         </div>
         <?php } ?>                        <?php if ($products) { ?>   
         <div class="product-filter">
            <div class="category-info">
               <?php if ($thumb) { ?>     
               <div class="image"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" /></div>
               <?php } ?>     <?php if ($description) { ?>          <?php } ?>   
            </div>
            <div class="display"> <span><?php echo $text_display; ?></span> <span><?php echo $text_list; ?></span> <a onclick="display('grid');"><?php echo $text_grid; ?></a> </div>
            <div class="sort">
               <span><?php echo $text_sort; ?></span>       
               <select onchange="location = this.value;">
                  <?php foreach ($sorts as $sorts) { ?>         <?php if ($sorts['value'] == $sort . '-' . $order) { ?>         
                  <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
                  <?php } else { ?>         
                  <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>
                  <?php } ?>         <?php } ?>       
               </select>
            </div>
            <div class="limit">
               <span><?php echo $text_limit; ?></span>       
               <select onchange="location = this.value;">
                  <?php foreach ($limits as $limits) { ?>         <?php if ($limits['value'] == $limit) { ?>         
                  <option value="<?php echo $limits['href']; ?>" selected="selected"><?php echo $limits['text']; ?></option>
                  <?php } else { ?>         
                  <option value="<?php echo $limits['href']; ?>"><?php echo $limits['text']; ?></option>
                  <?php } ?>         <?php } ?>       
               </select>
            </div>
            <div class="product-compare" style="display: none;"><a href="<?php echo $compare; ?>" id="compare-total"><?php echo $text_compare; ?></a></div>
         </div>
         <div class="product-list">
            <?php $cols = $MAX_ITEM_ROW ; $span = floor(12/$cols); foreach ($products as $i => $product) { ?> <?php if( $i++%$cols == 0 ) { ?>  
            <div class="row-fluid">
               <?php } ?>     
               <div class="span<?php echo $span;?> product-block">
                  <div class="product-inner">
                     <?php if ($product['thumb']) { ?>       
                     <div class="image">
                        <?php if( $product['special'] ) {   ?> 
                        <div class="product-label-special label"> <span><?php echo $this->language->get( 'text_sale' ); ?></span> </div>
                        <?php } ?> <a class="img" href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a> <span class="mask"></span> <?php if( $categoryPzoom ) { $zimage = str_replace( "cache/","", preg_replace("#-\d+x\d+#", "",  $product['thumb'] ));  ?> <a href="<?php echo $zimage;?>" class="hidden-tablet hidden-phone colorbox product-zoom" rel="nofollow" title="<?php echo $product['name']; ?>"><span class="fa fa-search-plus"></span></a> <?php } ?> <?php if( $categoryPzoom ) { $zimage = str_replace( "cache/","", preg_replace("#-\d+x\d+#", "",  $product['thumb'] ));  ?> <?php } ?> 
                        <div class="group-action">
                           <div class="btn-overlay cart"  > <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" style="width: 150px;"/> </div>
                           <div class="btn-overlay wishlist"> <a class="pavicon-wishlist" onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $this->language->get("button_wishlist"); ?></a> </div>
                           <div class="btn-overlay compare"> <a class="pavicon-compare" onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $this->language->get("button_compare"); ?></a> </div>
                        </div>
                     </div>
                     <?php } ?>       
                     <h4 class="name" style="text-align: center;"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></h4>
                     <?php if ($product['sku']) { ?><span style=" isplay: none;     background: url('/image/skidka.png');     background-repeat: no-repeat;     position: absolute;     adding: 29px;     order-radius: 43px;     idth: 24px;     height: 90px;     color: rgba(255, 255, 255, 0);     top: -8px; left: -8px; "><?php echo $product['sku']; ?></span><?php } ?>        
                     <div class="description"><?php echo utf8_substr( strip_tags($product['description']),0,200);?>...</div>
                     <?php if ($product['rating']) { ?> 
                     <div class="rating is-hover"> <img src="catalog/view/theme/<?php echo $this->config->get('config_template');?>/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /> </div>
                     <?php } ?> <?php if ($product['price']) { ?> 
                     <div class="price" style="text-align: center;"> <?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 } ?>          
                  </div>
               </div>
               <?php if( $i%$cols == 0 || $i==count($products) ) { ?> 
            </div>
            <?php } ?>     <?php } ?>   
         </div>
         <div class="product-filter">
            <div class="pagination"><?php echo $pagination; ?></div>
         </div>
         <div class="category-info">     <?php if ($thumb) { ?>         <?php } ?>     <?php if ($description) { ?>     <?php echo $description; ?>     <?php } ?>   </div>
         <?php } ?>    <?php if ($thumb || $description) { ?>   <?php } ?>    <?php if (!$categories && !$products) { ?>   
         <div class="content"><?php echo $text_empty; ?></div>
         <div class="buttons">
            <div class="right"><a href="<?php echo $continue; ?>" class="button"><?php echo $button_continue; ?></a></div>
         </div>
         <?php } ?>      <?php echo $content_bottom; ?>
      </div>
      <script type="text/javascript"><!-- function display(view) { if (view == 'list') { $('.product-grid').attr('class', 'product-list'); $('.product-list div.product_block').each(function(index, element) { html  = '<div class="right">'; html += '  <div class="cart">' + $(element).find('.cart').html() + '</div>'; html += '  <div class="wishlist">' + $(element).find('.wishlist').html() + '</div>'; html += '  <div class="compare">' + $(element).find('.compare').html() + '</div>'; html += '</div>'; html += '<div class="left">'; var image = $(element).find('.image').html(); if (image != null) {  html += '<div class="image">' + image + '</div>'; } var price = $(element).find('.price').html(); if (price != null) { html += '<div class="price">' + price  + '</div>'; } html += '  <div class="name">' + $(element).find('.name').html() + '</div>'; html += '  <div class="description">' + $(element).find('.description').html() + '</div>'; var rating = $(element).find('.rating').html(); if (rating != null) { html += '<div class="rating">' + rating + '</div>'; } html += '</div>'; $(element).html(html); }); $('.display').html('<span style="float: left;"><?php echo $text_display; ?></span><a class="list active"><?php echo $text_list; ?></a><a class="grid"  onclick="display(\'grid\');"><?php echo $text_grid; ?></a>'); $.totalStorage('display', 'grid');  } else { $('.product-list').attr('class', 'product-grid'); $('.product-grid div.product_block').each(function(index, element) { html = ''; var image = $(element).find('.image').html(); if (image != null) { html += '<div class="image">' + image + '</div>'; } html += '<div class="name">' + $(element).find('.name').html() + '</div>'; html += '<div class="description">' + $(element).find('.description').html() + '</div>'; var price = $(element).find('.price').html(); if (price != null) { html += '<div class="price">' + price  + '</div>'; } var rating = $(element).find('.rating').html(); if (rating != null) { html += '<div class="rating">' + rating + '</div>'; } html += '<div class="cart">' + $(element).find('.cart').html() + '</div>'; html += '<div class="wishlist">' + $(element).find('.wishlist').html() + '</div>'; html += '<div class="compare">' + $(element).find('.compare').html() + '</div>'; $(element).html(html); }); $('.display').html('<span style="float: left;"><?php echo $text_display; ?></span><a class="list" onclick="display(\'list\');"><?php echo $text_list; ?></a><a class="grid active"><?php echo $text_grid; ?></a>'); $.totalStorage('display', 'grid'); } } view = $.totalStorage('display'); if (view) { display(view); } else { display('grid'); } //--></script>  <?php if( $categoryPzoom ) {  ?> <script type="text/javascript"><!-- $(document).ready(function() { $('.colorbox').colorbox({ overlayClose: true, opacity: 0.5, rel: false, onLoad:function(){ $("#cboxNext").remove(0); $("#cboxPrevious").remove(0); $("#cboxCurrent").remove(0); } }); }); //--></script> <?php } ?> 
   </div>
   <?php if( $SPAN[2] ): ?> 
   <div class="span<?php echo $SPAN[2];?>"> <?php echo $column_right; ?> </div>
   <?php endif; ?> 
</div>
<?php echo $footer; ?>
Змінено користувачем ashap
Пеленки кода в тег код и под спойлер
Надіслати
Поділитися на інших сайтах


Это что у вас за тема такая кривая, что даже имя переменной с ошибкой написано? 

isset($themeConfig['cateogry_display_mode']
P.S -

<?php if ($product['sku']) { ?><span style="
isplay: none;
где потеряли букву d у слова display?

 

 

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

Надіслати
Поділитися на інших сайтах


Какого модуля то? Почему тогда приведён код страницы категории, а не код страницы модуля?

Модуль или расширение, как правильно назвать. Как бы там ни было, это файл new.tpl в папке product. Приведенный код - полное содержание этого файла. Насколько я знаю, в этом файле можно изменить отображение по-умолчанию с list на grid.

Надіслати
Поділитися на інших сайтах


Без понимания того, что вы, или не вы, вставили в шаблон модуля-расширения, как вы сами его назвали, к успеху вы не придёте.

 

Этот файл отвечает за вывод последних добавленных товаров. Здесь по-умолчанию стоит отображение list. А мне нужно grid. 

Я сам не разбираюсь, поэтому и прошу помощи у людей, которые в этом что-то смыслят. Вы смыслите? Так будьте добры, помогите.

Надіслати
Поділитися на інших сайтах


Вообще-то, в конце кода

if (view) {
display(view);
} else {
display('grid');
}

что и означает, что вид по умолчанию и должен быть сеткой

 

А почему это ничего не меняет?

Надіслати
Поділитися на інших сайтах


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

 

И сколько вы просите за то, чтобы решить проблему?

Надіслати
Поділитися на інших сайтах


  • 7 months later...

Такая же проблема и у меня! Это модуль "Новинки Плюс". Там почему-то не отрабатывает код. Сайт не запоминает выбор покупателя Сетка-Список. При открытии всегда по-умолчанию выводится как Список, хотя другие страницы запоминают выбор покупателя. К тому же эта страница выдает ошибку в консоли.

post-694191-0-12089700-1456656456_thumb.png

 

В похожем файле (spacial.tpl) используется не $.cookie, а $.totalStored, но даже если выправить этот файл по образцу, то выбор покупателя все равно не запоминается и таже ошибка в консоли...

Змінено користувачем Lilya
Надіслати
Поділитися на інших сайтах


  • 1 month later...

Как пишет автор, надо подключать библиотеку


$this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js');



С ее помощью хранится состояние как отображать товары, списком или сеткой.


Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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