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

Leaderboard

Popular Content

Showing content with the highest reputation on 07/22/2011 in all areas

  1. Фильтр товаров в категории 2.0 Демо: Shop Filter Возможности: админ: - создание неограниченного количества опций и значений фильтра; - присваивание опции к нескольким категориям; - присваивание значения опций к товару; - работает как обычный модуль. Позиционирование справа - слева, порядок вывода; пользователь: - выборка товаров по критериям (логику см. картинку); - отображение количества товаров для каждого следующего шага выборки опции-родителя и соседних опций, основываясь на текущей категории и логики выборки; - деактивация критерий с нулевым результатом количества товаров при следующем нажатии; - исключение AJAX дало возможность гарантированно получить данные и создать реальные страницы для поисковых роботов; - запрос с параметрами фильтра выглядит следующим образом: index.php?route=product/category&path=20&filter=1=2,3;3=11,10;4=18 где: переменная GET, опция, значения опции Установка на чистый OpenCart (OpenStore) затронет следующие файлы: admincontrollercatalogproduct.php admincontrollercommonheader.php adminlanguageenglishcatalogproduct.php adminlanguageenglishcommonheader.php adminlanguagerussiancatalogproduct.php adminlanguagerussiancommonheader.php adminmodelcatalogproduct.php adminviewtemplatecatalogproduct_form.tpl adminviewtemplatecommonheader.tpl catalogcontrollerproductcategory.php catalogmodelcatalogproduct.php Установка на чистый OS 1. Извлеките папки из архива openstore_filter_2.0_clean_install.zip в корень сайта с заменой. 2. Система -> пользователи -> группы пользователей -> Главный администратор [Изменить], ставим галки напротив catalog/filter и сохраняем. 3. Войдите в админ панель -> дополнения -> модули -> Фильтр товаров [изменить] -> и нажмите на кнопку "Установить таблицы". Если всё прошло как надо, появится соответствующее уведомление и после этого можно добавлять опции на странице Каталог -> Фильтр товаров. Внимание: проверено на последней версии Opencart v1.4.9.4 (March 19, 2011) с офф. сайта openstore_filter_2.0_clean_install.zip Added 18-07-2011 Установка вручную (thx afwollis) ---------------------------------------------------------------------------------------------------------------------------------------------- Вышла новая версия - 3.0. Возможности, цена вопроса и всё такое - ocfilter.com.
    1 point
  2. Всем здравствуйте! Пару месяцев назад я написал модуль для быстрой правки описаний, дескрипшенов, мета тегов, просто тегов, количества, цены и статуса есть/нет в наличии. В общем наиболее распространенных и нужных вещей для работы с товарами. Модуль нацелен на работу с большими базами, когда пара сотен категорий и несколько тысяч товаров. Благодаря тому что он чуть менее чем весь сделан с использованием ajax -- работает довольно быстро, а табличная структура и возможность убирать товары "чтобы не путались под ногами" довольно удобно когда надо много всего разобрать. В общем пользуйтесь) Вопросы, жалобы предложения - пожалуйста сюда не стесняясь) Если что-то не попало в архив - напишите что не ставится, я перевыложу. P.S. аффтар испытывает аццкие материальные трудности и "долгов на пароход". Просто можно сказать кошмарные, поэтому любая сумма благодарности на Яндекс.Деньги 41001275236952 будет ой как кстати. Но я не настаиваю) Модулем вы можете пользоваться совершенно бесплатно. Благодарность дело добровольное) Всем всего наилучшего! UPDATE: Тем, кто столкнулся с проблемой, когда вылезает ошибка наподобе этой: Notice: Undefined index: token in /home/site/domains/site.ru/public_html/admin/controller/common/header.php on line 77 Будьте ВНИМАТЕЛЬНЫ когда добавляете в контроллер строки. Когда я писал README мне казалось очевидным подобное добавлять к подобному. Вобщем если такая ошибка вылезла -- скорее всего вы эти строки вставили подрят одна за другой, а нужно в соответствующие части скрипта в 2 разных места. Т.е. по аналогии с тем, что уже есть в этом файле. Еще раз акцентирую внимание: $this->data['text_fast_item'] = '<nobr>Быстрое редактирование</nobr>'; $this->data['fast_item'] = HTTPS_SERVER . 'index.php?route=catalog/fastitemedit&token=' . $this->session->data['token']; эти 2 строчки нужно вставить в разные места по аналогии с тем, что если же в скрипте. fastitemedit.zip
    1 point
  3. Делаем следующее: CSS: добавляем в конец /*=Category view*/ .view-buttons{float:left;margin-top: 7px;} .view-buttons a{display:inline-block;height:16px;width:16px;margin-left:7px;} .view-buttons a#grid{background:url('../image/view-table.png') no-repeat 0 0;} .view-buttons a#list{background:url('../image/view-list.png') no-repeat 0 0;} .view-buttons a.onpress{background-position:0 -16px!important;} .grid{list-style-type:none;margin:5px 0;padding:0;text-align: center;} .grid li{float: left;height: 215px;width: 25%;/*width: 32%;*/} .grid .right{min-height: 50px;} .grid .title{display:block; margin: 3px 0;} .list{list-style-type:none;margin:5px 0;padding:0;overflow:hidden;} .list li{clear:both;float:none;overflow:hidden;padding:20px;} .list li + li{border-top:1px dotted #999999;} .list .title{display:block;margin:0 0 10px;} .list .main{float:left;} .list .main .left{float:left;} .list .main .left a{display:block;text-decoration:none;} .list .main .right{float:right;margin: 0 20px;padding-top: 10px;} .list .main .right .model{display:block;} .list .other{float:right; padding-top: 10px;} .list .other img{display:block;margin: 3px 0;} /*=End category view */ HTML: в category.tpl заменяем <table class="list"> <?php for ($i = 0; $i < sizeof($products); $i = $i + 4) { ?> <tr> <?php for ($j = $i; $j < ($i + 4); $j++) { ?> <td width="25%"><?php if (isset($products[$j])) { ?> <a href="<?php echo $products[$j]['href']; ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a><br /> <a href="<?php echo $products[$j]['href']; ?>"><?php echo $products[$j]['name']; ?></a><br /> <span style="color: #999; font-size: 11px;"><?php echo $products[$j]['model']; ?></span><br /> <?php if ($display_price) { ?> <?php if (!$products[$j]['special']) { ?> <span style="color: #900; font-weight: bold;"><?php echo $products[$j]['price']; ?></span> <?php } else { ?> <span style="color: #900; font-weight: bold; text-decoration: line-through;"><?php echo $products[$j]['price']; ?></span> <span style="color: #F00;"><?php echo $products[$j]['special']; ?></span> <?php } ?> <a class="button_add_small" href="<?php echo $products[$j]['add']; ?>" title="<?php echo $button_add_to_cart; ?>" > </a> <?php } ?> <br /> <?php if ($products[$j]['rating']) { ?> <img src="catalog/view/theme/default/image/stars_<?php echo $products[$j]['rating'] . '.png'; ?>" alt="<?php echo $products[$j]['stars']; ?>" /> <?php } ?> <?php } ?></td> <?php } ?> </tr> <?php } ?> </table> на <ul class="<?php echo $view_mode; ?>" id="view"> <?php foreach ($products as $product) { ?> <li> <div class="main"> <div class="left"> <a href="<?php echo $product['href']; ?>" class="thumb" rel="<?php echo $product['compare_thumb']; ?>"> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" id="image-<?php echo $product['product_id']; ?>" /> </a> </div> <div class="right"> <a href="<?php echo $product['href']; ?>" class="title"><?php echo $product['name']; ?></a> <span class="model"><?php echo $product['model']; ?></span> </div> </div> <div class="other"> <?php if ($display_price) { ?> <?php if (!$product['special']) { ?> <span style="color: #900; font-weight: bold;"><?php echo $product['price']; ?></span> <?php } else { ?> <span style="color: #900; font-weight: bold; text-decoration: line-through;"><?php echo $product['price']; ?></span> <span style="color: #F00;"><?php echo $product['special']; ?></span> <?php } ?> <a class="button_add_small" href="<?php echo $product['add']; ?>" title="<?php echo $button_add_to_cart; ?>" > </a> <?php } ?> <br /> <?php if ($product['rating']) { ?> <img src="catalog/view/theme/default/image/stars_<?php echo $product['rating'] . '.png'; ?>" alt="<?php echo $product['stars']; ?>" /> <?php } ?> </div> </li> <?php } ?> </ul> заменяем <div class="sort"> <div class="div1"> <select name="sort" onchange="location = this.value"> <?php foreach ($sorts as $sorts) { ?> <?php if (($sort . '-' . $order) == $sorts['value']) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select> </div> <div class="div2"><?php echo $text_sort; ?></div> </div> на <div class="sort"> <div class="view-buttons"> <a id="grid" class="change-view<?php echo ($view_mode == 'grid' ? ' onpress' : ''); ?>"></a> <a id="list" class="change-view<?php echo ($view_mode == 'list' ? ' onpress' : ''); ?>"></a> </div> <div class="div1"> <select name="sort" onchange="location = this.value"> <?php foreach ($sorts as $sorts) { ?> <?php if (($sort . '-' . $order) == $sorts['value']) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select> </div> <div class="div2"><?php echo $text_sort; ?></div> </div> перед <?php echo $footer; ?> вставляем <script type="text/javascript"><!-- $('.change-view').click(function(){ $('#view').removeClass().addClass($(this).attr('id')); $('.change-view').removeClass('onpress'); $(this).addClass('onpress'); $.post('<?php echo $view_action; ?>', 'view=' + $(this).attr('id')); }); //--></script> PHP: в category.php, после $this->data['button_add_to_cart'] = $this->language->get('button_add_to_cart');добавляем $this->data['view_action'] = HTTP_SERVER . 'index.php?route=product/category/view'; $this->data['view_mode'] = (isset($this->session->data['view_mode']) ? $this->session->data['view_mode'] : 'grid'); В конец файла перед закрытием класса вставляем метод public function view() { if ($this->request->server['REQUEST_METHOD'] == 'POST' && isset($this->request->post['view'])) { $this->session->data['view_mode'] = $this->request->post['view']; } } Иконки видов: кидаем в папку с изображениями вашего шаблона view_icons.zip Собственно и всё. Временную демку можно глянуть тут
    1 point
  4. Спасибо, подумаю, как назвать. Вариант "Локаль" не нравится.Не локаль, а локализация :)Или что-то вроде "Региональные настройки".
    1 point
  5. Спец сиволы это что ? В любом случае проблема в настройках дрима так как при вставки в шаблон русского текста никаких проблем не будет, если нет BOM сигнатур
    1 point
  6. Приношу извинения!!! :blink: :blink: :blink: А файлик скрипта я то не приложил, дурень... Вот он jquery.zip Распакрвать и закинуть в папку со скриптами, у меня она в корне и называется js Можно в шаблон, прописав путь до файла. В хедере надо его вставить вот этой конструкцией: <script type="text/javascript" src="/js/jquery.js"></script> Всё работает, я забыл что у меня он есть, заметил при вёрстке нового магазина. Ещё раз звиняйте.
    1 point
  7. Ну такой роутер у OpenCart'а... Конечно можно и нужно было сделать исключение для главной страницы, но почему-то не сделали...
    1 point
  8. #search input { border: 1px solid #0A5391; padding: 2px; width:190px; }
    1 point
  9. Проще в файле system/library/response.php, метод output(), в самом начале метода добавить строку if (!defined('HTTP_CATALOG')) $this->output = str_replace('index.php?route=common/home', '', $this->output);и index.php?route=common/home будет вырезан везде.
    1 point
×
×
  • 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.