-
Content Count
16 -
Joined
-
Last visited
Posts posted by adeiit
-
-
в логах это
[Sun Jan 03 20:19:22 2016] [error] [client 95.31.102.89:34967] AH01276: Cannot serve directory /home/a/adeiit0l/top-sale46.ru/public_html/files/brands/: No matching DirectoryIndex (index.shtml,index.html,index.php,index.htm) found, and server-generated directory index forbidden by Options directive, referer http://top-sale46.ru/products/mtv-4828lta2- [Sun Jan 03 20:19:22 2016] [info] [client 95.31.102.89:34853] AH00128: File does not exist: /home/a/adeiit0l/top-sale46.ru/public_html/js/fancybox/jquery.fancybox-1.3.4.css, referer http://top-sale46.ru/products/mtv-4828lta2- [Sun Jan 03 20:19:23 2016] [error] [client 95.31.102.89:34853] AH01276: Cannot serve directory /home/a/adeiit0l/top-sale46.ru/public_html/files/brands/: No matching DirectoryIndex (index.shtml,index.html,index.php,index.htm) found, and server-generated directory index forbidden by Options directive, referer http://top-sale46.ru/products/mtv-4828lta2- [Sun Jan 03 20:19:23 2016] [info] [client 95.31.102.89:34853] AH00128: File does not exist: /home/a/adeiit0l/top-sale46.ru/public_html/design/QFood/images/v_blue_on_white_ru.png, referer http://top-sale46.ru/products/mtv-4828lta2- [Sun Jan 03 20:19:23 2016] [info] [client 95.31.102.89:35301] AH00128: File does not exist: /home/a/adeiit0l/top-sale46.ru/public_html/design/citymarket_1/images/bg/sub-nav-marker.gif, referer http://top-sale46.ru/design/citymarket_1/css/style.css [Sun Jan 03 20:19:24 2016] [info] [client 95.31.102.89:34853] AH00128: File does not exist: /home/a/adeiit0l/top-sale46.ru/public_html/js/fancybox/jquery.fancybox-1.3.4.pack.js, referer http://top-sale46.ru/products/mtv-4223lt2- [Sun Jan 03 20:19:24 2016] [info] [client 95.31.102.89:35597] AH00128: File does not exist: /home/a/adeiit0l/top-sale46.ru/public_html/js/fancybox/jquery.fancybox-1.3.4.css, referer http://top-sale46.ru/products/mtv-4223lt2- [Sun Jan 03 20:19:25 2016] [info] [client 95.31.102.89:35597] AH00128: File does not exist: /home/a/adeiit0l/top-sale46.ru/public_html/js/fancybox/jquery.fancybox-1.3.4.pack.js, referer http://top-sale46.ru/products/mtv-4223lt2- [Sun Jan 03 20:19:25 2016] [info] [client 95.31.102.89:35663] AH00128: File does not exist: /home/a/adeiit0l/top-sale46.ru/public_html/design/QFood/images/v_blue_on_white_ru.png, referer http://top-sale46.ru/products/mtv-4223lt2-
-
Всем привет! И с наступившим новым годом!
Облазил весь форум и не нашел рабочего решения в качестве парсинга картинок и характеристик.
В качестве парсера картинок хотел использовать данный метод ссылкано с помощью него не парсит фотки (не могу сказать почему)
В качестве характеристик насколько я понимаю есть родной парсер симплы
но он также не работает, кто сталкивался с данной проблемой? Есть ли
какие решения? -
Вот здесь расписывается, как создать дополнительную страницу - галерею, но в Вашем случае это будут бренды. Т.е. вместо галереи выводите бренды.
Спасибо, задачу решил, столкнулся с новой проблемой.
Создал отдельную страничку для брендов, список брендов очень длинный и хотелось бы сделать какой-то автоматический перенос текста в новый столбик, и в качестве ограничения выставить что-то, например количество пикселей
-
Да верно потому как инструкция не полная, точнее косячная. Итак по пунктам:
Правим контроллер api/Brands.php:
Добавляем свою функцию, которая генерирует бренды: (я вставил после функции public function delete_image($brand_id))
public function get_rand_brands($count = 2) { $brands = array(); $category_id_filter = ''; // Выбираем все бренды $query = $this->db->placehold("SELECT id, name, url, meta_title, meta_keywords, meta_description, description, image FROM __brands WHERE 1 ORDER BY RAND() LIMIT $count"); $this->db->query($query); return $this->db->results(); }
Далее в файле view/IndexView.php сразу после function fetch() { вставляем:
$brandni = $this->brands->get_rand_brands(15); $this->design->assign('brandni', $brandni);
get_rand_brands(15) - 15 это число брендов выведенных в блоке.
Теперь в шаблоне design/{ваш_шаблон}/index.tpl вместо полного списка брендов, будет выводить случайный набор:
В любом месте шаблона вставьте:
<h2>Производители</h2> <div class="catalog_menu"> <ul> {foreach $brandni as $brandss} <!-- Бренд --> <li> <!-- Фото бренда --> {if $brandss->image} <div><a href="brands/{$brandss->url}"><img src="./files/brands/{$brandss->image}" alt="{$brandss->name|escape}"/></a></div> {else} <!-- Фото бренда (The End) --> <!-- Название бренда --> <h3><a href="brands/{$brandss->url}">{$brandss->name|escape}</a></h3> <!-- Название бренда (The End) --> {/if} <!-- Бренд (The End)--> {/foreach} </ul> <hr> <b><center><a href="brands/">Все бренды</a><center></b> </div>
Добавим с .htaccess перекидку на новый модуль — сразу после RewriteRule ^products/?$ index.php?module=ProductsView [L,QSA] Вставляем:
RewriteRule ^brands/?$ index.php?module=BrandsView [L,QSA]
Создаем файл подготовки данных view/BrandsView.php, который формирует данные для страницы брендов.
<?PHP require_once('View.php'); class BrandsView extends View { function fetch() { // Выбираем товар из базы $this->design->assign('meta_title', 'Все производители'); $this->design->assign('meta_keywords', 'Все производители'); $this->design->assign('meta_description', 'Все производители'); $brands = $this->brands->get_brands(); $this->design->assign('brands', $brands); return $this->design->fetch('brands.tpl'); } }
И теперь делаем вывод всего этого в новый шаблон design/{ваш_шаблон}/brands.tpl (этот файл нужно создать)
{if $brands} <!-- Список брендов --> <ul> {foreach $brands as $brand} <!-- Бренд --> <li> <!-- Фото бренда --> {if $brand->image} <div><a href="brands/{$brand->url}"><img src="./files/brands/{$brand->image}" alt="{$brand->name|escape}"/></a></div> {/if} <!-- Фото бренда (The End) --> <!-- Название бренда --> <h3><a href="brands/{$brand->url}">{$brand->name|escape}</a></h3> <!-- Название бренда (The End) --> </li> <!-- Бренд (The End)--> {/foreach} </ul> <!-- Список брендов (The End)--> {else} Бренды не найдены<br /><br /> {/if}
Вот и все работает! Пример http://s.intimdolgopa.ru
делал всё как вы говорили, но после изменения файла brands.php симпла выдала ошибку, Parse error: syntax error, unexpected T_PUBLIC in Z:\home\lec\www\api\Brands.php on line 132
-
Вариантов решения уйма. Можно бренды выводить каруселью, можно выпадающим списком, можно отдельной страницей, можно в попапе, Вам решать, что для Вас красиво, а что нет.
если рассматривать вариант с отдельной страницей для брендов, как можно реализовать данный способ?
-
Все всегда делается руками.
вполне себе разумеется), не могли бы вы дать какие-либо конкретные рекомендации?
-
Приветствую всех, столкнулся с такой проблемой - большое количество брендов в каталоге, и соответственно на главной страничке, и смотрится дико не красиво. Как можно решить данную задачу?
Скрин в архиве прилагаю, заранее извиняясь что в архиве, по-другому не умею) -
index.tpl
Если я правильно понял, то достаточно вставить данный код в index.tpl и у меня будет разбивка брендов по алфавитам? У меня проблема - огромное количество брендов и выглядит это ущербно
-
а в какой файл вставлять код? Подскажите пожалуйста
-
Спасибо. - получилось
а в каком файле вставлять код?
-
попробуйте заменить в simpla/ajax/import.php функцию private function import_category($category)
на мою:
private function import_category($category) { // Поле "категория" может состоять из нескольких имен, разделенных subcategory_delimiter-ом // Только неэкранированный subcategory_delimiter может разделять категории $delimiter = $this->subcategory_delimiter; $regex = "/\\DELIMITER((?:[^\\\\\DELIMITER]|\\\\.)*)/"; $regex = str_replace('DELIMITER', $delimiter, $regex); $names = preg_split($regex, $category, 0, PREG_SPLIT_DELIM_CAPTURE); $id = null; $parent = 0; // получаем последнюю категорию товара в цепочке и ищем ее в каталоге $last_cat = end($names); $this->db->query('SELECT id FROM __categories WHERE name=?', $last_cat); $id = $this->db->result('id'); // если мы нашли категорию, сразу возвращаем ее айди, если нет, добавляем категорию по иерархии if(empty($id)) { // Для каждой категории foreach($names as $name) { // Заменяем \/ на / $name = trim(str_replace("\\$delimiter", $delimiter, $name)); if(!empty($name)) { // Найдем категорию по имени $this->db->query('SELECT id FROM __categories WHERE name=? AND parent_id=?', $name, $parent); $id = $this->db->result('id'); // Если не найдена - добавим ее if(empty($id)) $id = $this->categories->add_category(array('name'=>$name, 'parent_id'=>$parent, 'meta_title'=>$name, 'meta_keywords'=>$name, 'meta_description'=>$name, 'url'=>$this->translit($name))); $parent = $id; } } } return $id; }
работает так: выбирает последнюю категорию в цепочке (если указана главная и субкатегории), если такая категория найдена по имени, возвращает сразу айди этой категории и вставляет туда товар. если категория не найдена, она добавляется с учетом указанной иерархии в импорте (так как по умолчанию).
тоесть, если у вас указано у товара1 категория Коляски/Аксессуары, а у товара2 просто Аксессуары оба тавара добавит в категорию Коляски/Аксессуары, учтите, одинаковых имен быть не должно, иначе добавит в первую что найдена.
огромнейшее спасибо, испытал моральный оргазм после того как увидел что товары сели сразу в дочернюю категорию и не стали создавать новую)
Пользуясь случаем хотел спросить, возможно есть решение по данной проблеме http://www.screencapture.ru/file/2e89c003
Брендов много, и не красиво смотрится такое количество на главной странице, а вообще как с вами можно связаться? Есть несколько задач по интернет-магазину на симпле, не могу найти проггера, естественно на платной основе
-
все сделано на самом деле правильно, т.к. может быть две категории например Холодильники, одна корневая а другая подкатегория.
есть несколько выходов из ситуации
- проставить вручную эти корневые категории в прайсе и все будет импортировать
- если у вас нет категорий с одинаковыми именами (корневой и подкатегорий) можно переделать импорт чтобы искало только по названию и в эту категорию и вставляло.
- добавлять еще в прайс айди категории и по ней цеплять товар к категории. что тоже требует изменения импорта
как можно воплотить в жизнь второй вариант? нет категорий, имена которых, совпадают с подкатегориями
-
нужно просто удалить колонку адрес, тогда адрес будет автоматически сгенерирован на основе имени товара.
+ вы не добавили в прайс названия колонок в первой строке
а что можете подсказать по поводу решения задачи с подкатегориями?
-
нужно просто удалить колонку адрес, тогда адрес будет автоматически сгенерирован на основе имени товара.
+ вы не добавили в прайс названия колонок в первой строке
Это прайс поставщика, в таком виде он его предоставляет, надо было конечно добавить что бы нагляднее было, сейчас перезалью
-
Всем доброго времени суток стоит задача импортировать прайс лист csv формата в симплу. Что-то я адаптировал под симплу, что-то в ручную просто повставлял. В качестве адреса страницы взял артикул.
Осталась только одна проблема, в магазине есть категории с дочерними категориями, например крупнобытовая техника/холодильники, а прайс поставщика изначально подразумевает только дочернюю категории "Холодильники". Подскажите, как можно реализовать чтобы товары заносились в категорию крупонобытовая техника/холодильники, а не создавал новую "главную" категорию "холодильники" так как таких подкатегорий очень много и нужно раскидать их по главным категориям.
Думал над возможностью написания макроса в excel где будет сопоставление по названиям категорий и под категорий, типа если в ячейке "категория" написано холодильники (категория которую может предоставить поставщик) то эта ячейка заменяется на крупнобытовая техника/холодильники.Возможно у вас есть свои варианты решения данной задачи? Подскажите как можно реализовать. Во вложениях прилагаю формат прайс листа который предоставляет поставщик
Модернизация поиска AJAX
in Готовые решения
Posted
Пытался поставить, 2.3.3 версия, не работает, поиск выводит теперь один и тот же столбец с одинаковыми товарами, всё сделал по инструкции