Модуль плитки тегов в категориях Opencart

Купить расширенную версию плитки тегов Opencart https://opencartforum.com/files/file/7711-plitka-tegov-seo-tile-of-tags/ (страница сообщества) , https://hqline.ru/modul-heshtegov-kategorij-opencart/ (здесь на сайте)

Отличия платной версии от бесплатной

информация собрана здесь

Принцип работы

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

Интерфейс

На фронтенде модуль отображается на главной и в определенных категориях

При нажатии на кнопку «показать все» раскрывается весь список

Образец эксель-файла для настройки старой версии модуля

На первом листе в первой колонке указываются ид категорий и листы экселя, из которых будут браться их хештеги. Здесь прописываются названия хештегов и ссылки для главной, на других листах-хештеги тех страниц/категорий, ид которых содержаться в записях 1-й колонки, нанпример 165:Игротека!I-3. Тут 165-ид категории,Игротека-лист экселя, I — столбец, 3— строка

Архив модуля

Фрагменты кода

Модель (\catalog\model\extension\module\unit.php) для считывания настроек из экселя

<?php

require_once(DIR_SYSTEM .'PHPExcel/Classes/PHPExcel.php');

class ModelExtensionModuleUnit extends Model {
		public function getCategoryId($url)
		{	
			$url  = substr($url,1,strlen($url)-2);
			$url = explode('/',$url);
			$sql=sprintf("SELECT query FROM %surl_alias WHERE keyword='%s'",DB_PREFIX,$url[count($url)-1]);
			$result = $this->db->query($sql);

			if($result->num_rows){
				$result = explode('=',$result->row['query']);
				return $result[1];
			}
		}
		public function getCategories($category_id) {
			$fileExcel = DIR_SYSTEM .'PHPExcel/Classes/unit_groups.xlsx';
			if(file_exists($fileExcel)){
					$categories = $this->getExcelData($fileExcel,$category_id);
					return $categories;
				}
		}

		public function getExcelData($fileExcel,$category_id) {

			$alhabet =array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U');
			$excelReader = PHPExcel_IOFactory::createReaderForFile($fileExcel);
			$excelObj = $excelReader->load($fileExcel);
			$worksheet = $excelObj->getSheetByName('Главная');

			$row = 2;
			$checked = false;
			while ($worksheet->getCell('A'.$row)->getValue() != ';') {
				$adresse = explode(':', $worksheet->getCell('A'.$row)->getValue());
				if($category_id == $adresse[0]){
					$checked = true;
					break;
				}

				$row++;
			}
			if (!$checked) return;
			$sheet = explode('!', $adresse[1]);
			$worksheet = $excelObj->getSheetByName($sheet[0]);
			$adresse = explode('-',$sheet[1]);
			$row= $adresse[1];
			$result=array();
			while ($worksheet->getCell($adresse[0].$row)->getValue() != ';') {
				$index = array_search($adresse[0], $alhabet);
				$nextColumn = $alhabet[$index+1];
				$result[] = array('name'=>$worksheet->getCell($adresse[0].$row)->getValue(),
								  'rel'=>$worksheet->getCell($nextColumn.$row)->getValue());
				$row++;
			}

			return $result;
		}
		
}

Активация скрипта адаптивного слайдера во вьюшке catalog\view\theme\default\template\extension\module\unit.tpl

$(document).ready(function() {<br>
    $('.tag-slider').slick({<br>
        dots: false,<br>
        arrows: true,<br>
        infinite: true,<br>
        autoplay: false,<br>
        variableWidth: true,<br>
        centerMode: true,<br>
        slidesToShow: 3,<br>
        responsive: [<br>
            {<br>
                breakpoint: 767,<br>
                settings: {<br>
                    slidesToShow: 1,<br>
                    slidesToScroll: 1<br>
                }<br>
            }<br>
        ]<br>
        });<br>
    });
Print Friendly, PDF & Email

Добавить комментарий