Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Raino

Пользователи
  
  • Публикаций

    102
  • Зарегистрирован

  • Посещение

Все публикации пользователя Raino

  1. Если я правильно понял, то Вам поможет этот модуль https://opencartforum.com/files/file/830-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80-%D0%BE%D0%BF%D1%86%D0%B8%D0%B9-%D0%B2-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F%D1%85/ - в нем есть и автоматический пересчет цены в зависимости от выбранной опции. Но как уже сказали выше- опции сначала потребуется создать и назначить нужным товарам.
  2. Мнение по поводу каноникл в забавном блоге http://googlewebmastercentral.blogspot.ru/2013/04/5-common-mistakes-with-relcanonical.html . Говорят, что если Вы ставите canonicl на паджинацию, в мире грустит один котенок. Для этого дела советуют prev и next.
  3. Так и сделал, закоментил эту функцию, так как не используется. Я бы не сказал, что это совсем уж безопасная уязвимость, злоумышленники могут залить много мусора и тогда квота на диск быстро кончится (на некоторых тарифах она совсем скромная), использовать магазин как левый файлообменник, или же вообще окажется, что владелец магазина стали счастливым хранителем коллекции детского порно, с бонусом в виде письма роскомнадзору. В общем, вариантов масса, да и просто сам факт не приятен, что дырка есть. В принципе, если из админки ocstore убрана возможность рулить всем этим делом, может стоит изначально исключить эту функцию из контроллеров сборки?
  4. Недавно обнаружил пару подозрительных файлов в папке downloads вида "1024.php.jpg.рандомный набор", внутри оказался не зловред, а игрушка 1024, причем рядом валялся файл с лицензией на нее, такого-же формата :). Однако прецедент пугающий. Детальнее проблема описана здесь http://forum.opencart.com/viewtopic.php?f=179&t=135903 и судя по всему носит массовый характер. И если на чистом opencart проблема решается запретом загрузки файлов в магазин, то в ocstore эти настройки в админке я не нашел http://www.webhostinghub.com/help/images/stories/opencart/opencart15-options/opencart15-options-allowed-uploadextensions.gif и пришлось потанцевать с бубном. В общем, будьте внимательны граждане.
  5. Посмотрите этот модуль. https://opencartforum.com/files/file/797-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D1%83%D0%B5%D0%BC%D1%8B%D0%B5-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B/
  6. Скорее всего проблема в том, что бесплатные почтовые сервисы перестали работать с почтой по простому 25 порту, им теперь подавай защищенные. Поэтому, если почта, например, на mail.ru, то в строке хоста smtp сервера добавить ssl:// , т.е ssl://smtp.mail.ru ну и порт 465 (значения приведены для примера с mail.ru, параметры порта Вашего почтовика могут отличаться)
  7. Вроде разобрались уже. Коварный мейл.ру таки был виноват.
  8. Случайно не через smtp mail.ru почта магазина доставляется? у них недавно стандартные порты закрылись, только ssl остался и порт нужно в настройках сервера 25 на 465 сменить.
  9. Как быть в том случае, если одновременно в заказе присутствуют товары и с тем и с тем артикулом? Отправлять на оба мыла? Есть ли товары вообще без артикула и если есть, то как быть с ними?
  10. Включить в разделе "Учитывать в заказе" личный счет, в способах оплаты оставить только бесплатную покупку, перепилить пару языковых переменных для вывода желаемого уведомления ну и добавить попапы на проверку баланса при покупке.
  11. Однако! Войдите в базу через phpmyadmin и выполните запрос SELECT * FROM `setting` WHERE `key` LIKE '%mail%' LIMIT 0 , 30 и покажите результат, может что-нибудь интересное увидим.
  12. Raino

    фильтр товаров

    для этой цели больше подойдут модули фильтрации в них часто есть эта опция, например filterpro или ocfilter
  13. Здравствуйте. стоит ли галочка в админке в разделе почта "Оповещение о заказе по E-mail" ? тема стандартная/на основе стандартной или сильно измененная, ставились ли какие-нибудь дополнительные модули связанные с отправкой уведомлений? Вставьте в какой-нибудь шаблон код <?php echo $this->config->get('config_alert_emails'); ?> , например в header.tpl после тега <body>, если все ОК то в самом верху страницы должен будет выведен список дополнительных адресов и тогда будем думать дальше.
  14. А сайт как заполнялся? Что-то похожее может быть, если напрямую добавлять кривые данные в базу. Попробуйте посмотреть на базу через phpmyadmin таблицу product и сравнить там товар который открывается на изменение, с тем, который вешает админку. Может что-нибудь сразу бросится в глаза.
  15. Raino

    [решено] Не работает Tabs.js

    В исходниках у вас скрипт tabs.js два раза подгружается. Уберите одну строку <script type="text/javascript" src="catalog/view/javascript/jquery/tabs.js"></script> .Плюс, если не ошибаюсь, Вы разные версиии jquery пытаетесь загружать. Да и в принципе, функции вкладок встроены в jquery-ui и дополнительно для них ничего загружать не нужно. http://jqueryui.com/tabs/ - здесь подробнее, посмотрите код примера.
  16. Raino

    filter Pro [Поддержка]

    Здравствуйте, хочу поделиться инструкцией по установке ioncube (необходим для рабоыт шифрованной версии модуля) на хотсинг nic.ru, процесс оказался не совсем очевиден. 1. На панели управления хостинга переходим в раздел "управление модулями" и включаем php 5.3. далее в строке php 5.3 нажимаем "настроить"-"показать дополнительные модули" и убеждаемся, что галочка рядом с ioncube снята (эта галка ставит дремучий куб, с которым фильтрпро не пойдет) 2. качаем это http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_fre_8_x86.tar.gz. 3. создаем в домашнем каталоге ХОСТИНГА (НЕ САЙТА) папку ioncube. Чтобы не ошибиться с местом это проще всего сделать в файловом менеджере панели управления хостингом. Папка должна располагаться по пути /home/ВАШ_ИДЕНТИФИКАТОР 4.копируем в эту папку из скачанного архива файл ioncube_loader_fre_5.3.so (можно и все что есть, на будущее) 5. переходим в папку /home/ВАШ_ИДЕНТИФИКАТОР/etc и копируем файл php53.ini 6. добавляем в конец файла строку zend_extension = /home/ВАШ_ИДЕНТИФИКАТОР/ioncube/ioncube_loader_fre_5.3.so 7. сохраняем файл как php.ini и копируем его в /home/ВАШ_ИДЕНТИФИКАТОР 8. Перезагружаем веб-сервер из панели управления. 9. Заходим в каталог опенкарта в папку system и создаем там папку license. 10. Через хостинговый файловый менеджер даем ставим галочки "чтение" "выполнение" в правах папки, в строках "группа" и "другие" 11. устанавливаем filterpro через админку и наслаждаемся
  17. Если просто выводить цену, то не очень сложно. А вот каким-либо образом использовать эту альтернативную цену, помимо отображения гораздо сложнее.
  18. Просто последуйте инструкции которую я скинул и все будет хорошо. в product.tpl это вставлять не нужно, там немного другой блок. только в шаблоны вывода товаров списком-сеткой- производители, поиск, категории и т.д. Если используется фильтерпро или иные модули заменяющие базовый вывод товаров, то в них тоже придется немного подшаманить. Еще лучше по совету SPositive заверните все это дело в vqmod, иначе при правке шаблонов руками когда-нибудь могут быть проблемы с какими-нибудь модулями. В качестве примера как будет выглядеть-результат interior.art-mark.ru. Магазин не рабочий, но скрытие кнопок увидите. Так же рекомендую скрывать корзину для незарегистрированных. P.S. Забыл по поводу null, они появляются при смене вида список/сетка. чтобы этого избежать нужно еще немного отредактировать шаблон. ищите строку html += ' <div class="cart">' + $(element).find('.cart').html() + '</div>'; и меняете ее на var cart = $(element).find('.cart').html(); if (cart != null) { html += '<div class="cart">' + $(element).find('.cart').html() + '</div>'; } Аналогично с wishlist Эти строки встречаются 2 раза в функции вывода сетки-списка.
  19. У себя реализовал следующим образом: вся информация о товаре заполняется сотрудниками в 1с (создается карточка товара со всеми необходимыми полями), так же с категориями, атбрибутами и т.д., далее из 1с обработкой экспортируются csv файлы по структуре совпадающие с таблицами product, product_id и т.д. базы данных опенкарт. Потом с помощью скрипта по ssh файлы заливаются на хостинг и выполняется скрипт импорта csv в БД. С сайта, в свою очередь, экспортируются csv файлы содержащие информацию о заказах, заливаются на сервер 1с и импортируются в нее соответствующей обработкой. Процесс может инициализировать пользователь, нажав соответствующую кнопку в 1с, плюс выполняется по расписанию несколько раз в сутки. Весь процесс занимает секунд 5-10, в магазине 25k товаров и порядка 300 категорий-подкатегорий. По сути у меня сотрудники в админку opencarta не заходят вообще и в глаза ее не видели, так же плюсом идет то, что синхронизация абсолютная, никаких задвоенных значений или расхождений возникнуть не может. В минусах- если неграмотный сотрудник внесет фигню в ряд полей, то сайт может благополучно лечь (например если проставить одному товару сразу несколько главных категорий и т.п). Теоретически можно исключить стадию файлового обмена и писать из 1с напрямую в базу OC, но я не настолько могуч, да и файловым методом проще контролировать ошибки при передаче.
  20. Возможно. Во всех шаблонах содержащих вывод товаров, например category.tpl, меняете блок <div class="cart"> <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /> </div> <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div> <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div> </div> на <?php if ($this->customer->isLogged()) { ?> <div class="cart"> <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /> </div> <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div> <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div> <?php } else { ?> <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div> <?php } ?> это так же скроет для незарегистрированного пользователя кнопку "закладки", т.к смысл в ней есть только при доступе к личному кабинету.
  21. В административной панели выберите нужные категории, перейдите во вкладку "данные" и в поле "порядок сортировки" установите нужные числовые значения (чем меньше число тем выше категория отобразится списке, если у двух категорий порядок сортировки одинаков, то они сортируются по алфавиту)
  22. Блок просто копировали? У меня там есть пара опечаток, не доглядел. Попробуйте добавить этот блок так. @font-face { font-family: 'FontAwesome2'; src: url('http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.eot?v=3.2.1'); src: url('http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg'); font-weight: normal; font-style: normal; } далее в этом же файле найти блок [class^=icon-], [class*= icon-] { font-family: FontAwesome; font-weight: normal; font-style: normal; text-decoration: inherit; -webkit-font-smoothing: antialiased; *margin-right: .3em; } и заменить на [class^=icon-], [class*= icon-] { font-family: FontAwesome,FontAwesome2; font-weight: normal; font-style: normal; text-decoration: inherit; -webkit-font-smoothing: antialiased; *margin-right: .3em; } Ну и далее аналогично в стилях, везде где встречается строка font-family: FontAwesome; менять ее на font-family: FontAwesome,FontAwesome2; Должно работать (при редактировании на живую в браузере работает). Но опять же повторюсь, это костыль и лучше разобраться в причине по которой возникает ошибка. Видимо что-то не так с настройками хостинга. Есть более простое и некостыльное решение проблемы, если используется файл .htaccess В нем после строки RewriteBase / добавьте RewriteCond %{HTTP_HOST} ^www\.maunfeld-bt\.ru$ [NC] RewriteRule ^(.*)$ http://maunfeld-bt.ru/$1 [R=301,L]
  23. Вот что говорит по этому поводу браузер. Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://www.maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.woff?v=3.2.1. Это может быть исправлено путем перемещения ресурса в тот же домен или включением CORS. Костыль- добавить в файл font-awesome.css после блока @font-face { font-family: 'FontAwesome'; src: url('../font/fontawesome-webfont.eot?v=3.2.1'); src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg'); font-weight: normal; font-style: normal; } блок @font-face { font-family: 'FontAwesome2'; src: url(''http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.eot?v=3.2.1'); src: url(''http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('http://maunfeld-bt.ru/catalog/view/theme/theme269/font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg'); font-weight: normal; font-style: normal; } и везде, где в стилях используется font-family:FontAwesome; заменить на font-family:FontAwesome, FontAwesome2.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.