Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Yesvik

Ветеран спільноти
  
  • Публікації

    1 939
  • З нами

  • Відвідування

Усі публікації користувача Yesvik

  1. Кавычки потерялись... <?php function rm_tree($dirname) { $dirs = glob("$dirname/*", GLOB_ONLYDIR|GLOB_NOSORT); foreach ($dirs as $d) { foreach (glob("$dirname/$d/*.jpg", GLOB_NOSORT) as $filename) { echo "$dirname/$d/$filename size " . filesize("$dirname/$d/$filename") . "\n"; unlink("$dirname/$d/$filename"); } rm_tree("$dirname/$d"); } } rm_tree("."); ?>
  2. Описывать что запрещено - неблагодарное занятие. Правильнее перечислять что разрешено. Попробуй так $number = preg_replace('/[^0-9]+/u', '', $keyword);
  3. Тогда осваивай SVN, и клиент на русском языке http://tortoisesvn.net/ и информации на русском - море.Держи на локалке рабочую копию со своими правками, обновляйся, сохраняй свои патчи, тестируй и если всё в порядке - делай экспорт и переноси файлы на хостинг...
  4. Главное не заложить будущее в ломбарде :)
  5. Да нафига Вам маньяк... Вы и сами маньячите не по детски :) Править упакованный слайдер - это по взрослому! Я бы до такого не додумался и как минимум привел бы в читаемый вид код слайдера Но слайдер то известный... я бы пошел на сайт слайдера и почитал документацию! Там же всё расписано... <script type="text/javascript"> $(window).load(function() { $('#slider').nivoSlider({ effect:'random', // Specify sets like: 'fold,fade,sliceDown' slices:15, // For slice animations boxCols: 8, // For box animations boxRows: 4, // For box animations animSpeed:500, // Slide transition speed pauseTime:3000, // How long each slide will show startSlide:0, // Set starting Slide (0 index) directionNav:true, // Next & Prev navigation directionNavHide:true, // Only show on hover controlNav:true, // 1,2,3... navigation controlNavThumbs:false, // Use thumbnails for Control Nav controlNavThumbsFromRel:false, // Use image rel for thumbs controlNavThumbsSearch: '.jpg', // Replace this with... controlNavThumbsReplace: '_thumb.jpg', // ...this in thumb Image src keyboardNav:true, // Use left & right arrows pauseOnHover:true, // Stop animation while hovering manualAdvance:false, // Force manual transitions captionOpacity:0.8, // Universal caption opacity prevText: 'Prev', // Prev directionNav text nextText: 'Next', // Next directionNav text beforeChange: function(){}, // Triggers before a slide transition afterChange: function(){}, // Triggers after a slide transition slideshowEnd: function(){}, // Triggers after all slides have been shown lastSlide: function(){}, // Triggers when last slide is shown afterLoad: function(){} // Triggers when slider has loaded }); }); </script> Обратите внимание на строки effect:'random', // Specify sets like: 'fold,fade,sliceDown' startSlide:0, // Set starting Slide (0 index)
  6. Ты не те показатели смотриш... количество продаж увеличилось?
  7. Пользоваться поиском пробовал?https://opencartforum.com/topic/2575-%d0%b2%d1%8b%d1%88%d0%b5%d0%bb-ocstore-v020/page__view__findpost__p__17038 https://opencartforum.com/topic/3104-%d0%b2%d1%8b%d1%88%d0%b5%d0%bb-ocstore-v022/page__view__findpost__p__20990
  8. https://opencartforum.com/topic/2906-%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82-%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0-%D0%B4%D0%BB%D1%8F-%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82/page__p__19622 Для версии 1.5 - можно выбирать из каких категорий экспортировать товары
  9. Нет. Устанавливается один магазин, а потом в админке, Система -> Настройки жмёш кнопку "Создать магазин" и заполняеш настройки нового магазина. Только там для поля "URL магазина", в качестве примера, предлагают указать папку, но с папками замахаешся... проще другой домен или поддомен использовать.Забыл написать что все домены/поддомены дополнительных магазинов должны смотреть в папку с установленным магазином.
  10. Это легко делается если магазины городов разнести по поддоменам или вообще по разным доменам, например moscow.myshop.ru london.myshop.ru supershop.de Всё будет крутится на одной базе, а в админке сможеш выбирать в каких магазинах доступны определённые категории/товары/статьи...
  11. Мне у себя лень проверять, но очень странно... Вот эта функция preg_replace('/\D/', '', $keyword)должна удалять всё кроме цифр.Попробуй строку $number = preg_replace('/\D/', '', $keyword);изменить так $number = preg_replace('/\D|\s/', '', $keyword);или так $number = trim(preg_replace('/\D/', '', $keyword));
  12. Попробуй для начала убрать подключение catalog/view/theme/default/stylesheet/calendar.css и catalog/view/javascript/clock/clock.js А потом разберись куда делся catalog/view/javascript/jquery/jquery.cycle.all.min.js
  13. Откуда информация что с www это домен уровнем ниже? И www.domain.tld и domain.tld - это домены второго уровня. В данном случае www это не поддомен, а указание на веб-сервис, так же как и в случае ftp.domain.tld ftp означает фтп-сервис.
  14. Строка $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')";встречается дважды, я забыл об этом написать, и менять надо в обеих местах...Но менять надо только эту строку, иначе поиск по модели будет всегда независимо от чекбокса. Все позиции не должны выводиться... вот эта строка $number = preg_replace('/\D/', '', $keyword);удаляет всё кроме цифр.
  15. Точно... обратный слеш потерял...Должно быть /\D/
  16. Поиск только по цифрам в модели делается так: В файле catalog/model/catalog/product.php найди $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')";и замени на $sql .= " OR p.model LIKE '%" . $this->db->escape(preg_replace('/\D/', '', $keyword)) . "%')";Но в этом решении есть подводные камни... Например, если попытаться найти модель35 то реально будет поиск по вхождению числа 35 и результатов может быть неприлично много. Кроме этого кто-то из пользователей захочет поискать по фразе вообще не содержащей цифр и получит вообще все товары. Тут, по хорошему, напрашивается создание отдельной формы для поиска по артикулу.Что можно попытаться сделать на базе того что есть и при этом получить более менее вменяемые результаты... Проверять что-бы для поиска по модели было не менее 3 цифр и искать не вхождение, а товары у которых модель начинается с этих цифр. Если цифр меньше 3 - искать по введённой фразе. $number = preg_replace('/\D/', '', $keyword); if (strlen($number) > 2) { $sql .= " OR p.model LIKE '" . $number . "%')"; } else { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')"; } Исправил ошибку в регулярке /D/ на /\D/
  17. Попробуй перечитать постановку задачи.Сначала пишеш много букв, перечисляеш что надо пропускать, а судя по приведённому примеру - поиск должен быть только по цифрам (коротко и ясно!). Решается такая задача с использованием простейшего регулярного выражения preg_replace('/D/', '', $keyword)Но мой модуль телепатии упорно не хочет работать, а модуль крипто-анализа не справился с фразой "В том числе и наоборот".
  18. Самый простой вариант... Всегда ищет по Наименованию и по SKU, а по Описанию и по Модели - в соответствии с чекбоксами. Для уменьшения промахов ищется только точное совпадение SKU, в варианте "по умняку" - ищет SKU которые начинаются с введённой поисковой фразы Открываем файл catalog/model/catalog/product.php Ищем в двух местах if (!$model) { $sql .= ")"; } else { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')"; } и изменяем в двух местах так if (!$model) { $sql .= " OR p.sku = '" . $this->db->escape($keyword) . "')"; } else { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%' OR p.sku = '" . $this->db->escape($keyword) . "')"; } Всё.
  19. Это по умняку... Сначала правим вьювер. Открываем файл catalog/view/theme/default/template/product/search.tpl Ищем <tr> <td colspan="2"><?php if ($model) { ?> <input type="checkbox" name="model" id="model" checked="checked" /> <?php } else { ?> <input type="checkbox" name="model" id="model" /> <?php } ?> <?php echo $entry_model; ?></td> </tr> и после найденного добавляем <tr> <td colspan="2"><?php if ($sku) { ?> <input type="checkbox" name="sku" id="sku" checked="checked" /> <?php } else { ?> <input type="checkbox" name="sku" id="sku" /> <?php } ?> <?php echo $entry_sku; ?></td> </tr> почти в самом низу файла ищем if ($('#model').attr('checked')) { url += '&model=1'; } и после найденного добавляем if ($('#sku').attr('checked')) { url += '&sku=1'; } Так как мы добавили языковую переменную $entry_sku - добавим её в файл локализации... Открываем файл catalog/language/russian/product/search.php В конце файла, перед строкой ?> добавляем $_['entry_sku'] = 'Поиск по артикулу'; Вьювер готов, правим контроллер Открываем файл catalog/controller/product/search.php Ищем if (isset($this->request->get['model'])) { $url .= '&model=' . $this->request->get['model']; } и после найденного добавляем if (isset($this->request->get['sku'])) { $url .= '&sku=' . $this->request->get['sku']; } Ищем $this->data['entry_model'] = $this->language->get('entry_model'); и после найденного добавляем $this->data['entry_sku'] = $this->language->get('entry_sku'); Ищем if (isset($this->request->get['model'])) { $this->data['model'] = $this->request->get['model']; } else { $this->data['model'] = ''; } и после найденного добавляем if (isset($this->request->get['sku'])) { $this->data['sku'] = $this->request->get['sku']; } else { $this->data['sku'] = ''; } Ищем $product_total = $this->model_catalog_product->getTotalProductsByKeyword( $this->request->get['keyword'], isset($this->request->get['category_id']) ? $this->request->get['category_id'] : '', isset($this->request->get['description']) ? $this->request->get['description'] : '', isset($this->request->get['model']) ? $this->request->get['model'] : '');и изменяем так $product_total = $this->model_catalog_product->getTotalProductsByKeyword( $this->request->get['keyword'], isset($this->request->get['category_id']) ? $this->request->get['category_id'] : '', isset($this->request->get['description']) ? $this->request->get['description'] : '', isset($this->request->get['model']) ? $this->request->get['model'] : '', isset($this->request->get['sku']) ? $this->request->get['sku'] : ''); Ищем if (isset($this->request->get['model'])) { $url .= '&model=' . $this->request->get['model']; } и после найденного добавляем if (isset($this->request->get['sku'])) { $url .= '&sku=' . $this->request->get['sku']; } Ищем $results = $this->model_catalog_product->getProductsByKeyword( $this->request->get['keyword'], isset($this->request->get['category_id']) ? $this->request->get['category_id'] : '', isset($this->request->get['description']) ? $this->request->get['description'] : '', isset($this->request->get['model']) ? $this->request->get['model'] : '', $sort, $order, ($page - 1) * $this->config->get('config_catalog_limit'), $this->config->get('config_catalog_limit'));и изменяем так $results = $this->model_catalog_product->getProductsByKeyword( $this->request->get['keyword'], isset($this->request->get['category_id']) ? $this->request->get['category_id'] : '', isset($this->request->get['description']) ? $this->request->get['description'] : '', isset($this->request->get['model']) ? $this->request->get['model'] : '', isset($this->request->get['sku']) ? $this->request->get['sku'] : '', $sort, $order, ($page - 1) * $this->config->get('config_catalog_limit'), $this->config->get('config_catalog_limit')); Ищем if (isset($this->request->get['model'])) { $url .= '&model=' . $this->request->get['model']; } и после найденного добавляем if (isset($this->request->get['sku'])) { $url .= '&sku=' . $this->request->get['sku']; } Ищем if (isset($this->request->get['model'])) { $url .= '&model=' . $this->request->get['model']; } и после найденного добавляем if (isset($this->request->get['sku'])) { $url .= '&sku=' . $this->request->get['sku']; } Если обратил внимание - несколько раз ищем и правим одно и то-же... Это я все правки указал в порядке следования.С контроллером закончили - переходим к модели. Открываем файл catalog/model/catalog/product.php Ищем public function getProductsByKeyword($keyword, $category_id = 0, $description = FALSE, $model = FALSE, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) {и изменяем так public function getProductsByKeyword($keyword, $category_id = 0, $description = FALSE, $model = FALSE, $sku = FALSE, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) { Ищем if (!$description) { $sql .= " AND (pd.name LIKE '%" . $this->db->escape($keyword) . "%'"; } else { $sql .= " AND (pd.name LIKE '%" . $this->db->escape($keyword) . "%' OR pd.description LIKE '%" . $this->db->escape($keyword) . "%'"; } if (!$model) { $sql .= ")"; } else { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')"; } и изменяем так $sql .= " AND (pd.name LIKE '%" . $this->db->escape($keyword) . "%'"; if ($description) { $sql .= " OR pd.description LIKE '%" . $this->db->escape($keyword) . "%'"; } if ($model) { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%'"; } if ($sku) { $sql .= " OR p.sku LIKE '" . $this->db->escape($keyword) . "%'"; } $sql .= ")"; Ищем public function getTotalProductsByKeyword($keyword, $category_id = 0, $description = FALSE, $model = FALSE) {и изменяем так public function getTotalProductsByKeyword($keyword, $category_id = 0, $description = FALSE, $model = FALSE, $sku = FALSE) { Ищем if (!$description) { $sql .= " AND (pd.name LIKE '%" . $this->db->escape($keyword) . "%'"; } else { $sql .= " AND (pd.name LIKE '%" . $this->db->escape($keyword) . "%' OR pd.description LIKE '%" . $this->db->escape($keyword) . "%'"; } if (!$model) { $sql .= ")"; } else { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')"; } и изменяем так $sql .= " AND (pd.name LIKE '%" . $this->db->escape($keyword) . "%'"; if ($description) { $sql .= " OR pd.description LIKE '%" . $this->db->escape($keyword) . "%'"; } if ($model) { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%'"; } if ($sku) { $sql .= " OR p.sku LIKE '" . $this->db->escape($keyword) . "%'"; } $sql .= ")"; Всё.
  20. Тебе как сделать? что бы всё по умняку, с красивым кодом... или что-бы править было проще?
  21. Я не нахожу. Браузер для которого ставились комменты давно мертв...
  22. Админы и клиенты это разные учетные записи... а Слава Кпсс - вообше не человек :)Так и должно быть, нефиг админу делать в публичной части...
  23. Российское интернет гетто без регистрации ничего почитать не даёт, а на facebook'е бегло просмотрел мануалы... сложилось впечатление что всё довольно просто. Беспокоит только момент авторизации... из фрейма с куками начнётся свистопляска и прийдётся изголяться...
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.