Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

1RONMAN

Newbie
  
  • Posts

    5
  • Joined

  • Last visited

1RONMAN's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. Решение по вопросу выше находится тут: https://opencartforum.com/topic/52515-как-ограничить-цикл-foreach/?do=findComment&comment=460962 Все благодарим пользователя snastik!!! :eek:
  2. Этот вариант ограничивает количество выводимых подкатегорий до 4 :) Сработало!!! :) snastik, огромное Вам спасибо!!! :eek:
  3. Уважаемые форумчане, помогите, пожалуйста решить следующую проблему: нужно ограничить количество выводимых товаров из подкатегорий на страницу категории. Сделал всё по этой теме: https://opencartforum.com/topic/23318-решено-вывод-товаров-из-подкатегорий-на-страни/ А если точнее - по примеру со stackoverflow, этому: http://stackoverflow.com/questions/16806652/opencart-sort-products-by-their-subcategory-on-the-category-page Теперь необходимо разобраться как сделать так чтобы из каждой подкатегории выводилось не более 4-х товаров, иначе при большом количестве товаров будет каша.. :( Если я ничего не путаю то за вывод списка подкатегорий отвечает этот кусок кода в файле category.tpl: <div class="category-list"> <?php if ( count( $categories ) <= 15 ) { foreach ( $categories as $k=>$category ) { if( $k > 0 ) echo '<br /><br />'; echo '<div class="product-filter" style="background:#222;padding:5px;padding-bottom:2px">'; echo '<a href="' . $category['href'] . '" style="font-size:21px;text-decoration:none;"><h2 style="color:#eee;font-style:italic"><span style="color:#777;position:relative;bottom:2px">→ </span><span style="border-bottom:solid 1px #777;">' . $category['name'] . '</span>:</h2></a>'; echo '</div>'; echo '<hr style="border:none;border-top:solid 1px #eee"/>'; echo '<div class="product-list">'; foreach ( $products_all[ $category['category_id'] ] as $product) { echo '<div>'; if ( $product['thumb'] ) { echo '<div class="image"><a href="' . $product['href'] . '"><img src="' . $product['thumb'] . '" title="' . $product['name'] . '" alt="' . $product['name'] . '" /></a></div>'; } echo '<div class="name"><a href="' . $product['href'] . '">' . $product['name'] . '</a></div>'; echo '<div class="description">' . $product['description'] . '</div>'; if ( $product['price'] ) { echo '<div class="price">'; if ( !$product['special'] ) { echo $product['price']; } else { echo '<span class="price-old">' . $product['price'] . '</span> <span class="price-new">' . $product['special'] . '</span>'; } if ( $product['tax'] ) { echo '<br /><span class="price-tax">' . $text_tax . ' ' . $product['tax'] . '</span>'; } echo '</div>'; } if ( $product['rating'] ) { echo '<div class="rating"><img src="catalog/view/theme/default/image/stars-' . $product['rating'] . '.png" alt="' . $product['reviews'] . '" /></div>'; } echo '<div class="cart">'; echo '<input type="button" value="' . $button_cart . '" onclick="addToCart(\'' . $product['product_id'] . '\');" class="button" />'; echo '</div>'; echo '<div class="wishlist"><a onclick="addToWishList(\'' . $product['product_id'] . '\');">' . $button_wishlist . '</a></div>'; echo '<div class="compare"><a onclick="addToCompare(\'' . $product['product_id'] . '\');">' . $button_compare . '</a></div>'; echo '</div>'; } echo '</div>'; } ?> А за вывод соответственно товаров код начиная с: foreach ( $products_all[ $category['category_id'] ] as $product) { В общем, вопрос такой, как ограничить в данном случае foreach чтобы выводилось только по 4 товара из каждой категории? Заранее благодарю за любую информацию, надеюсь кто-нибудь поможет..
  4. Добрый день! Подскажите кто-нибудь, как ограничить количество выводимых товаров вот здесь: <div class="category-list"> <?php if ( count( $categories ) <= 15 ) { foreach ( $categories as $k=>$category ) { if( $k > 0 ) echo '<br /><br />'; echo '<div class="product-filter" style="background:#222;padding:5px;padding-bottom:2px">'; echo '<a href="' . $category['href'] . '" style="font-size:21px;text-decoration:none;"><h2 style="color:#eee;font-style:italic"><span style="color:#777;position:relative;bottom:2px">→ </span><span style="border-bottom:solid 1px #777;">' . $category['name'] . '</span>:</h2></a>'; echo '</div>'; echo '<hr style="border:none;border-top:solid 1px #eee"/>'; echo '<div class="product-list">'; foreach ( $products_all[ $category['category_id'] ] as $product) { echo '<div>'; if ( $product['thumb'] ) { echo '<div class="image"><a href="' . $product['href'] . '"><img src="' . $product['thumb'] . '" title="' . $product['name'] . '" alt="' . $product['name'] . '" /></a></div>'; } echo '<div class="name"><a href="' . $product['href'] . '">' . $product['name'] . '</a></div>'; echo '<div class="description">' . $product['description'] . '</div>'; if ( $product['price'] ) { echo '<div class="price">'; if ( !$product['special'] ) { echo $product['price']; } else { echo '<span class="price-old">' . $product['price'] . '</span> <span class="price-new">' . $product['special'] . '</span>'; } if ( $product['tax'] ) { echo '<br /><span class="price-tax">' . $text_tax . ' ' . $product['tax'] . '</span>'; } echo '</div>'; } if ( $product['rating'] ) { echo '<div class="rating"><img src="catalog/view/theme/default/image/stars-' . $product['rating'] . '.png" alt="' . $product['reviews'] . '" /></div>'; } echo '<div class="cart">'; echo '<input type="button" value="' . $button_cart . '" onclick="addToCart(\'' . $product['product_id'] . '\');" class="button" />'; echo '</div>'; echo '<div class="wishlist"><a onclick="addToWishList(\'' . $product['product_id'] . '\');">' . $button_wishlist . '</a></div>'; echo '<div class="compare"><a onclick="addToCompare(\'' . $product['product_id'] . '\');">' . $button_compare . '</a></div>'; echo '</div>'; } echo '</div>'; } ?> То есть если в категории много товаров то получается каша, хотелось бы чтобы выводилось не более 4 товаров за раз. Не могу сообразить как сделать. (
  5. Всё очень круто, но есть одно "но" - зачем полностью выпиливать модель когда можно сделать чуть круче ;) В моём варианте модель не удаляется полностью, вместо этого мы делаем поле "модель" необязательным, а затем заставляем движок проверять при отображении товара - если есть модель, то мы её показываем, а если нет - скрываем подпись "модель" с глаз долой. :-) Делаем сначала почти так, как описано выше, то есть: В "admin/controller/catalog/product.php" (линии 881 - 883) найти и удалить: if ((strlen(utf8_decode($this->request->post['model'])) < 3) || (strlen(utf8_decode($this->request->post['model'])) > 24)) { $this->error['model'] = $this->language->get('error_model'); } Далее, в admin/view/template/catalog/product_form.tpl" (у меня в версии 1.5.6.1 это строка 58) найти: <td><span class="required">*</span> <?php echo $entry_model; ?></td> <td><input type="text" name="model" value="<?php echo $model; ?>" /> <?php if ($error_model) { ?> <span class="error"><?php echo $error_model; ?></span> <?php } ?></td> и заменить на: <td><?php echo $entry_model; ?></td> <td><input type="text" name="model" value="<?php echo $model; ?>" /></td> А после делаем чуть иначе, пропускаем пункт 3 в product.tpl не удаляем строки, а вместо этого находим (у меня на 29 строке) это: <span><?php echo $text_model; ?></span> <?php echo $model; ?><br /> И меняем на это: <?php if ($model) { ?> <span><?php echo $text_model; ?></span> <?php echo $model; ?><br /> <?php } ?> То есть добавили проверку - если есть что показать в поле модель то всё отображается как прежде, а если показывать нечего - прячется. P.s. Буду рад замечаниям/поправкам, но у меня полёт нормальный. :-)
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.