-
Публікації
1 750 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем halfhope
-
-
занимательная беседа смотрю )))))))))
Вообще жесть
-
Я могу помочь с переводом. С установкой помочь не смогу, увы.
-
Gtmetrix кэширует результаты, либо, ессди сайт подкдючен к cloudflare стоит подождать обновления кода.
Это о чем?
-
А почему не вынимать еще из контроллера размеры? Ведь указываются они еще в админке, потом в контролере используются для изменения размеров изображений, шлепаем в переменные и вызывает вместе с путем каринки, профит.
не знаю какой вариант лучше, мой или пользователя
Можно и так, так даже правильней. Я просто чтобы пользователи не путались так сделал.
В общем все работает, единственное непонятно; в некоторых картинках размер указан, а gtmetrix.com говорит что надо поставить???
Пробовал так и этак результат одинаковый:
<div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" style= "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div>
Вы неправильно указываете размеры!!! В формате HTML!!! Откуда Вы взяли "width: 500px; height: 60px;" и style= "width: 500px; height: 60px;" ?????
Нужно вот так
<img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" width="500" height="60" alt=" <?php echo $name; ?>" />
-
А как вы увидели связь product_suffix с производительностью? Еее нет. Добавьте индексы в БД, отключите подсчет кол-ва товаров.
-
Повторюсь, нельзя так делать, особенно на адаптивных шаблонах типа Shoppica2.
Во первых, getImageSize ооооооооооооочень долгая, чтобы получить размер одного изображения иногда уходит 0.5 секунд. Сайт будет грузиться долго.
Во вторых, замена всех image реплейсом из класса response - очень плохая идея, которая никак не сходится с архитектурой OpenCart, получается говнокод. Хотите сделать из магазина помойку, пожалуйста.
Самый правильный способ - указать размеры только для тех изображений, которым это необходимо. Как узнать каким изображениям это необходимо?Во первых, это все изображения в шапке сайта т.е. чаще всего это только логотип. для этого необходимо открыть логотип, узнать его размер. Открыть файл catalog/view/theme/название-темы/common/header.tpl найти вывод логотипа и вручную указать высоту и ширину. Так же с остальными изображениями в шапке сайта.
Во вторых, изображения категорий и модулей, которые стоят в начале страницы, т.е. модулей, которые показаны при загрузке сайта без прокрутки страницы.
В обоих случаях необходимо получить настройки (ширина/высота) изображений в контроллере и передать их в шаблон. Но чтобы ускорить процесс, можно получить и вставить ширину и высоту прямо в файле шаблона.Открываем файл шаблона категории, находим вывод изображения товара и добавляем ширину и высоту:
<div class="image"> <a href="<?php echo $product['href']; ?>"> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" width="<?php echo $this->config->get('config_image_product_width') ?>" height="<?php echo $this->config->get('config_image_product_height') ?>" alt="<?php echo $product['name']; ?>" /> </a> </div>
Аналогично с файлами шаблонов модулей.
-
Решение для SeoPro.
Я вообще не понимаю зачем это вам. Вы используете это решение на свой страх и риск, и не факт, что оно у Вас сработает!!!
Теория.
При обработке GET переменной product_id необходимо добавить перед запросом seo-url товара предзапрос для получения суффикса zzzz. Чтобы получилось так:$quires[] = 'product_suffix'; $quires[] = 'product_id=42';
А в БД, в таблице oc_url_alias значения запросов равны:
'product_suffix' = 'zzzz' 'product_id=42' = 'test'
Т.е. у нас должна сформироваться ссылка /zzzz/test.html
Решение.
Файл controller/catalog/common/seo_pro.php, ищем:$queries = array(); foreach ($data as $key => $value) { switch ($key) { case 'product_id': case 'manufacturer_id': case 'category_id': case 'information_id': $queries[] = $key . '=' . $value; unset($data[$key]); $postfix = 1; break; case 'path': $categories = explode('_', $value); foreach ($categories as $category) { $queries[] = 'category_id=' . $category; } unset($data[$key]); break; default: break; } }
Добавляем:
$queries = array(); foreach ($data as $key => $value) { switch ($key) { case 'product_id': // Добавляем предзапрос на поиск суффикса zzzz $queries[] = 'product_suffix'; $queries[] = $key . '=' . $value; unset($data[$key]); $postfix = 1; break; // конец case 'manufacturer_id': case 'category_id': case 'information_id': $queries[] = $key . '=' . $value; unset($data[$key]); $postfix = 1; break; case 'path': $categories = explode('_', $value); foreach ($categories as $category) { $queries[] = 'category_id=' . $category; } unset($data[$key]); break; default: break; } }
Все готово. Могут быть разные версии seo_pro, но я в них не разбираюсь, так что у некоторых на странице товаров может возникать ошибка Undefined offset: 1 in catalog\controller\common\seo_pro.php on line 42 Тем, у кого возникает эта ошибка необходимо заменить:
reset($parts); foreach ($parts as $part) { $url = explode('=', $queries[$part], 2); if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } else { $this->request->get[$url[0]] = $url[1]; } }
На:
reset($parts); foreach ($parts as $part) { $url = explode('=', $queries[$part], 2); if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } else { // Добавляем проверку if ($url[0] !== 'product_suffix') { $this->request->get[$url[0]] = $url[1]; } // конец } }
Теперь в таблицу oc_url_alias нужно добавить poduct_suffix=zzzz, это можно сделать с помощью запроса:
INSERT INTO `oc_url_alias` (`query`, `keyword`) VALUES ('product_suffix', 'zzzz');
- 1
-
Все поиски и замены в vqmod работают только в пределах одной строки т.к. vqmod обрабатывает редактируемые файлы построчно. Если Вам нужно сделать как в варианте ниже:
if ($my_var == SOME_VAL && $module['layout_id'] == $layout_id && $module['position'] == 'content_top' && $module['status'])
то используйте обычный поиск + обычный replace без регулярок и всего прочего.
Либо напишите сюда начальный вариант и какой должен быть конечный, а то не совсем понятно что и куда нужно вставить.
-
Кажется я нашел:
файл error.txt какой то странный вес 30 Мб (!) открыть не могу ни чем, ошибки редакторы выдают. Попытался открыть в админке журнал ошибок, все надписи админки сразу стали кракозябрами, все остальные функции работают кракозябров не появляется.
Ничего странного в этом нет. Вы лучше чем гадать на гуще выложите письмо с заголовками.
-
там лежит только index.html файл пустой (открывал в редакторе) размер у него 0 дата изменения у него двухгодовалая, и еще txt с ошибками, больше ни чего нет
Уже хорошо, если в папке downloads есть что-нибудь лишнее, то удаляйте. При условии использования старого софта на сервере, присутствия необходимых настроек PHP туда можно залить и вызвать шелл. Удаляйте оттуда все и из файла catalog/controller/product/product.php уберите функцию upload (или закомментируйте ее). Именно благодаря ей туда попадают файлы. Кстати, antihack.xml от Васо рекомендую поставить в любом случае.
-
антивирус его опознал вот так: Trojan:Win32/Peals.B!plock
Хм, у Вас свой сервер на винде?
UPD: Туплю. Вирус под винду, понял.
-
антивирус его опознал вот так: Trojan:Win32/Peals.B!plock
В версиях меньше 1.5.4 есть уязвимости, которыми не стоило пренебрегать.
Откройте папку system/logs, если там есть php или phtml файлы, то значит проникли через админку, меняйте пароль администратора, и ставьте antihack.xml от Baco, затем проводите чистку.
-
Адрес отправителя можно легко подделать.
-
Проблема в max_input_vars и большом кол-ве категорий. Решение - увеличить max_input_vars.
-
Столкнулся с некоторыми проблемами.
1) в поле где прописывается адрес шаблона, после сохранения выскакивает:
<b>Notice</b>: Undefined index: template_name in <b>/home/p303010/www/xn--e1afpeutp.com/admin/view/template/module/custom_template.tpl</b> on line <b>168</b>
2) При открытии отмеченных категорий вылезают уже такие ошибки:
Notice: Undefined index: template_name in /home/p303010/www/xn--e1afpeutp.com/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 438 Notice: Undefined index: template_name in /home/p303010/www/xn--e1afpeutp.com/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 439 Warning: require(/home/p303010/www/xn--e1afpeutp.com/catalog/view/theme/shin): failed to open stream: No such file or directory in /home/p303010/www/xn--e1afpeutp.com/vqmod/vqcache/vq2-system_engine_controller.php on line 66 Fatal error: require(): Failed opening required '/home/p303010/www/xn--e1afpeutp.com/catalog/view/theme/shin/' (include_path='.:/usr/local/php54/lib/php') in /home/p303010/www/xn--e1afpeutp.com/vqmod/vqcache/vq2-system_engine_controller.php on line 66
Предоставьте доступ (FTP, Админка) в ЛС. Посмотрю что не так, исправлю и отвечу в теме.
-
-
Должно работать на всех 1.5.x версиях.
-
Есть) Шаблоны для товаров производителя и шаблоны для схем. Реально ли?
Обновил. Добавил поддержку шаблонов для производителей, со схемами совсем другая история. Сомневаюсь, что буду делать.
-
Да. Нашел старую версию. Решил протестировать. С ошибкой вопрос решил. Но вот не хочет работать: Файлы создает, в "Менеджер кеша" видно. А вот на страницах сайта ничего не объединяется(не меняется).
В MCJ 1.2 переменная $output из класса response передавалась на обработку с символом амперсанда, что позволяло передавать ее содержимое для редактирования в класс MCJ_OpenCart, т.е. не нужно было ее возвращать, все изменения этой переданной в класс переменной так же меняли $output из response.
С приходом php 5.3 это стало невозможным, поэтому нужно получить обработанный результат и присвоить его переменной $output из класса response. В MCJ 1.3 эта проблема решена.
-
PHP Notice: Undefined property: mcj_opencart::$output in .../index.php on line 262
Вас нет в списке купивших. И все же заново скопируйте все файлы. В классе mcj_opencart публичная переменная $output присутствует.
-
Очень смешно. Купил пару дней назад.
Имею право. Не вижу в этом ничего плохого.
-
Кроме как сделали бесплатным, другие изменения есть?
Нет, никаких. Если есть предложения, то всегда рад.
-
Перейдите сразу к середине статьи, к пункту "Вывод логотипа производителя товара на странице категорий". Процесс добавления производителей на странице поиска и категории одинаков, за исключением имен файлов (category.php/search.php).
-
Сорри что врываюсь. Только недавно обнаружил, что при включенной минификации (Minify HTML) обрезает яндексевские тэги noindex, написанные в виде комментария для корректной валидации <!--noindex--> <!--/noindex-->. Если же заюзать вашу версию, которая не трогает эти тэги, то гугловский PageSpeed Insights ругается, что можно страничку ужать еще на 940 байтов :ugeek: Есть ли варинты оставить эти тэги и чтобы гугл не ругался?
Нет, Google Page Speed Ругается на все теги, заключенные между <!-- и -->. А Встроенные в модуль HTML минимизаторы тоже считают их комментариями. Еще раз повторяюсь, что Google Page Speed это инструмент для проверки наличия паттернов оптимизации и все. Не следует следовать им всем.
[Решено] Присвоить класс корзине (jquery)
в Допомога програмістам та розробникам
Опубліковано:
Была похожая задача:
А вот мой ответ:
В файле catalog\view\theme\default\template\module\cart.tpl
Заменить первую строку на
либо на
Вам еще нужно будет разобраться с проблемой удаления из корзины товара. т.е. когда пользователь удаляет последний товар из корзины, то класс active должен удаляться. Если я правильно понял. Для решения замените в том же файле
на
,то есть в конце onClick нужно добавить код
который проверяет последний это товар в корзине или нет. Если да, тогда удаляет класс active.