Ответы пользователя по тегу CMS
  • Как правильно реализовать дополнительную таксаномию в bitrix?

    @Nikolays93 Автор вопроса
    Web-разработчик
    Подумал что можно создать 2 раздела. Жанр и Коллекция а в них уже пихать категории..
    Ответ написан
    Комментировать
  • Изучение Битрикс cms есть ли версии для учёбы?

    @Nikolays93
    Web-разработчик
    https://www.1c-bitrix.ru/download/cms.php#tab-php-link

    Качайте ZIP распаковывайте и наслаждайтесь установкой :)
    Ответ написан
    Комментировать
  • Как вывести данные товаров со скидкой на главной странице Opencart?

    @Nikolays93
    Web-разработчик
    Может кому пригодится:(Актуально для 1 версии)
    Между public function index() { и $this->response->setOutput($this->render()); в controller/ИМЯ_СТРАНИЦЫ.php
    вставить:
    // Загружаем модели
    		$this->load->model('catalog/product');
    		$this->load->model('tool/image');
    
    		if (isset($this->request->get['page'])) {
    			$page = $this->request->get['page'];
    		} else {
    			$page = 1;
    		}
    		
    		if (isset($this->request->get['limit'])) {
    			$limit = $this->request->get['limit'];
    		} else {
    			$limit = $this->config->get('config_catalog_limit');
    		}
    
    		$data = array(
    			'sort'  => 'p.sort_order',
    			'order' => 'ASC',
    			'start' => ($page - 1) * $limit,
    			'limit' => $limit // Количество на странице
    			);
    
    		$results = $this->model_catalog_product->getProductSpecials($data);
    
    		$this->data['special_products'] = array();
    
    		foreach ($results as $result) {
    			// Получаем изображение
    			if ($result['image']) {
    				$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
    			} else {
    				$image = false;
    			}
    			// Получаем цену
    			if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    				$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
    			} else {
    				$price = false;
    			}
    			// Получаем цену со скидкой
    			if ((float)$result['special']) {
    				$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
    			} else {
    				$special = false;
    			}	
    			// Получаем налоги
    			if ($this->config->get('config_tax')) {
    				$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
    			} else {
    				$tax = false;
    			}				
    			// Получаем рэйтинг
    			if ($this->config->get('config_review_status')) {
    				$rating = (int)$result['rating'];
    			} else {
    				$rating = false;
    			}
    
    			$this->data['special_products'][] = array(
    				'product_id'  => $result['product_id'],
    				'thumb'       => $image,
    				'name'        => $result['name'],
    				'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..',
    				'price'       => $price,
    				'special'     => $special,
    				'tax'         => $tax,
    				'rating'      => $result['rating'],
    				'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
    				'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])
    			);
    		}


    Первые 2 строки кода желательно исключить если они уже указаны где то на странице.

    На выводе что то вроде: ИМЯ_страницы.tpl
    <ul class="jcarousel-skin">
                        <?php foreach ($special_products as $special_product):
    
                            $price = (!empty($special_product['special'])) ? '<div class="price">'.$special_product['special'].'</div>' : '';
    
                            if ($special_product['special'] && $special_product['price']){
                                $tag_price = '<div class="tag-price"><span class="price-new">'. $special_product['special'] .'</span><span class="price-old">'. $special_product['price'] .'</span></div>';
                            } else { $tag_price = ''; }
                            
                            $thumbnail = '';
                            if ($special_product['thumb']) {
                                $thumbnail = '<div class="image"><a href="'. $special_product['href'].'"><img src="'. $special_product['thumb'] .'" alt="'. $special_product['name'] .'" /></a></div>';
                            } else {
                                $thumbnail = '';
                            }
                            $name = '<div class="name"><a href="'.$special_product['href'].'">'. $special_product['name'].'</a></div>';
    
                            /*Item OUTPUT*/
                        echo '<li>'.$tag_price.$thumbnail.'<div class="about">'.$name.$price.'</div></li>';
                        
                        endforeach; ?>
                        </ul>

    Код взял из своих сниппетов, если не понятен фронт юзайте var_dump($special_products);
    Ответ написан
    Комментировать