Ответы пользователя по тегу OpenCart
  • Почему не активируется модули OpenCart 3?

    @Asokr
    Что видно на сайте? - Это глюк opencart 3(или может сборки какой), и в последствии модуляделов:).

    На самом деле модуль у вас активен - и только слово в статусе не верное...

    Ведь когда вы заходите в настройки модуля - его статус "активирован"?
    Ответ написан
  • Как удалить кэширование в htaccess?

    @Asokr
    Кеширование в htaccess тут не при чем. Если нет изменений, то, это кеш или Opencart или хостинга.

    В первом случае, если Opencart 3-ей версии, отчистите основной кеш системы - на главной старницы админ панели (Панель состояния) - справа в районе верхнего угла - шестиренка.

    Если не помогло, или опенкарт не 3-ей версии - возможно используется какой-либо модуль кеширования.

    Если не помогло, или опенкарт не 3-ей версии, и модуля кеширования нет - то, вероятно, кешируется со стороны хостинга (у некторых есть подобные доп услуги)...

    Если не нашли причину - обращаться к специалистам за денюшку...
    Ответ написан
  • Как реализовать визуальный редактор для OpenCart?

    @Asokr
    В принципе ничего сложного:
    На стороне админ панели, при сохранении (например, в настройках шаблона) ваших цветов, размеров шрифта, блоков, генерируется соответствующий CSS
    Во фронте подключаете этот css...

    Без знания Opencart и php - будет сложновато. Фактический, нужно писать модуль для Opencart...
    Ответ написан
  • Как получить ID категории на странице товара opencart 2?

    @Asokr
    Ничего сложного:
    catalog\controller\product\product.php
    После строчки
    $category_info = $this->model_catalog_category->getCategory($category_id);

    Добавить строку
    $data['category_id'] = $category_id;

    И в шаблоне выводить
    <?php echo $category_id; ?>
    Ответ написан
  • Как сделать регистрацию без пароля в Opencart?

    @Asokr
    Не принимайте в контроллере пароль от пользователя - генерите его сами, и отправляйте пользователю...
    catalog/controller/account/register.php
    Переписывайте
    if (isset($this->request->post['password'])) {
    			$data['password'] = $this->request->post['password'];
    		} else {
    			$data['password'] = '';
    		}

    на что-то типа
    $data['password'] = вами сгенерированный пароль
    И тут -же можно отправить письмо о регистрации...
    Ответ написан
  • Как сделать редирект opencart?

    @Asokr
    Как вариант, установите 301 редирект в контроллере account/account
    catalog\controller\account
    Сразу после
    public function index() {
    Вставьте редирект
    $this->response->redirect($this->url->link('account/edit', '', true));
    Ответ написан
  • Как разместить лого по центру меню?

    @Asokr
    Вам нужно разбить массив $categories на два равных массива
    list($first_cat, $second_cat) = array_chunk($categories, ceil(count($categories)/2));

    И затем итерировать каждый уже в вашей верстке таким же образом, как это сделано в шаблоне...
    Ответ написан
  • Как создавать дополнительные текстовые страницы?

    @Asokr
    Если дизайн блоков (header, footer) одинаковый - вставляйте верстку непосредственно в стутью в админ панели.
    Если страница полностью отличается от основного сайта, то я бы сделал в информации поле, чекбокс типа "своя верстка", и в контролере выводил бы отдельный файл шаблона для своей верстки, что то типа:
    if ($svoya_verstka) {
    $this->response->setOutput($this->load->view('information/information_empty', $data)); // наш файл шаблона
    } else {
    $this->response->setOutput($this->load->view('information/information', $data));
    }

    Ну, и соответственно, в шаблоне information_empty - оставил бы только вывод контента статьи:
    <?php echo $description; ?>
    И верстку так-же добавлял в админ панели...
    -----------------
    Если вы хотите что-то типа contact.tpl - то есть на все 10 дизайнов - 10 файлов шаблона - то просто скопируйте структуру contact.tpl (контроллер, файл шаблона, и языковой файл) - и везде поменяйте contact - на собственный индификатор, типа design1.tpl для файла шаблона, и design1.php - для контроллера и языка, и в контроллере так-же везде придется заменить contact на design1 и так 10 раз...))
    Ответ написан
  • Почему хлебные крошки ведут себя неадекватно?

    @Asokr
    Вы версию не указали Opencart, для второй версии я всегда использую этот фикс для хлебных крошек.
    Ответ написан
  • Как вывести все дочерние категории в header.tpl?

    @Asokr
    Модуль входит в состав Opencart.pro (бесплатной версии;) ) - можете скачать - и посмотреть более подробно, но в общем - как -то так:
    Контролер
    $data['categories'] = array();
    
    		$categories = $this->model_catalog_category->getCategories(0);
    
    		foreach ($categories as $category) {
    
    			$children_data = array();
    
    			$children = $this->model_catalog_category->getCategories($category['category_id']);
    
    			foreach ($children as $child) {
    			
    			$children2_data = array();
    			$children2 = $this->model_catalog_category->getCategories($child['category_id']);
    			
    				foreach ($children2 as $child2) {
    				
    					$children3_data = array();
    					$children3 = $this->model_catalog_category->getCategories($child2['category_id']);
    					
    						foreach ($children3 as $child3) {
    							
    							$filter_data3 = array(
    								'filter_category_id'  => $child3['category_id'],
    							);				
    
    							$children3_data[] = array(
    								'category_id' => $child3['category_id'],
    								'name'        => $child3['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data3) . ')' : ''),
    								'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']. '_' . $child2['category_id']. '_' . $child3['category_id'])	
    							);		
    						
    						
    						}
    				
    					$filter_data2 = array(
    						'filter_category_id'  => $child2['category_id'],
    					);				
    
    					$children2_data[] = array(
    						'category_id' => $child2['category_id'],
    						'name'        => $child2['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data2) . ')' : ''),
    						'children3'    => $children3_data,
    						'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']. '_' . $child2['category_id'])	
    					);		
    				
    				
    				}
    				
    				$filter_data1 = array(
    						'filter_category_id'  => $child['category_id'],
    					);	
    
    				$children_data[] = array(
    					'category_id' => $child['category_id'],
    					'name'        => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data1) . ')' : ''),
    					'children2'    => $children2_data,
    					'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])	
    				);		
    			}
    			
    			$filter_data = array(
    				'filter_category_id'  => $category['category_id'],
    			);
    
    			$data['categories'][] = array(
    				'category_id' => $category['category_id'],
    				'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
    				'children'    => $children_data,
    				'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
    			);	
    		}

    Код шаблона
    <div class="list-group">
          <?php foreach ($categories as $category) { ?>
            <?php if ($category['category_id'] == $category_id) { ?>
            <a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a>
            <?php } else { ?>
            <a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a>
            <?php } ?>
            <?php if (($category['children']) && ($category['category_id'] == $category_id)) { ?>
              <?php foreach ($category['children'] as $child) { ?>
                <?php if ($child['category_id'] == $child_id) { ?>
                <a href="<?php echo $child['href']; ?>" class="list-group-item active">&nbsp;- <?php echo $child['name']; ?></a>
                <?php } else { ?>
                <a href="<?php echo $child['href']; ?>" class="list-group-item">&nbsp;- <?php echo $child['name']; ?></a>
                <?php } ?>
    			        <?php if (($child['children2']) &&  ($category['category_id'] == $category_id)) { ?>
    						  <?php foreach ($child['children2'] as $child2) { ?>
    							<?php if ($child2['category_id'] == $child_id2) { ?>
    							<a href="<?php echo $child2['href']; ?>" class="list-group-item active">&nbsp;&nbsp;&nbsp;- <?php echo $child2['name']; ?></a>
    							<?php } else { ?>
    							<a href="<?php echo $child2['href']; ?>" class="list-group-item">&nbsp;&nbsp;&nbsp;- <?php echo $child2['name']; ?></a>
    							<?php } ?>
    								<?php if (($child2['children3']) &&  ($category['category_id'] == $category_id)) { ?>
    									  <?php foreach ($child2['children3'] as $child3) { ?>
    										<?php if ($child3['category_id'] == $child_id3) { ?>
    										<a href="<?php echo $child3['href']; ?>" class="list-group-item active">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- <?php echo $child3['name']; ?></a>
    										<?php } else { ?>
    										<a href="<?php echo $child3['href']; ?>" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- <?php echo $child3['name']; ?></a>
    										<?php } ?>
    									  <?php } ?>
    								 <?php } ?>
    						  <?php } ?>
    					 <?php } ?>
              <?php } ?>
            <?php } ?>
          <?php } ?>
    </div>
    Ответ написан
  • Как добавить новую позицию opencart 2.3?

    @Asokr
    Добавлял последний раз вот по этой статье тык - проблем не возникло...
    Ответ написан