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

nowm

Користувачі
  
  • Публікації

    57
  • З нами

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

Інформація

  • Стать
    Не определился

Відвідувачі профілю

2 608 переглядів профілю

nowm's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

12

Репутація

  1. Вы просто сообщение #2 пропустили. Сообщение #15 — это дополнение ко второму сообщению, а не отдельная настройка. Если вы не будете править файл catalog/model/tool/image.php, то у вас для всех картинок по-умолчанию будет практически максимальное качество и огромный размер. Не только для PNG, но и для JPG.
  2. Интересный вопрос, если учесть, что у GIF-файлов вообще нет такого понятия, как «регулируемый уровень сжатия».
  3. Насколько я вижу из исходников, опенкартовкая библиотека сохраняет все PNG-картинки с качеством ноль. Для GDLib, ноль в PNG — это значит без сжатия. /system/library/image.php: public function save($file, $quality = 90) { $info = pathinfo($file); $extension = strtolower($info['extension']); if ($extension == 'jpeg' || $extension == 'jpg') { imagejpeg($this->image, $file, $quality); } elseif($extension == 'png') { imagepng($this->image, $file, 0); } elseif($extension == 'gif') { imagegif($this->image, $file); } imagedestroy($this->image); } Как видно из строки №46, опенкарту совершенно по барабану на то, какое качество сжатия указывалось при сохранении картинки в PNG-формат. Он всё равно будет использовать 0 (без сжатия). Чтобы добавить поддержку сжатия PNG, я бы поправил этот файл примерно так (см. строки 46-47): public function save($file, $quality = 90) { $info = pathinfo($file); $extension = strtolower($info['extension']); if ($extension == 'jpeg' || $extension == 'jpg') { imagejpeg($this->image, $file, $quality); } elseif($extension == 'png') { $quality = round((100-$quality)/10) > 9 ? 9 : round((100-$quality)/10); imagepng($this->image, $file, $quality); } elseif($extension == 'gif') { imagegif($this->image, $file); } imagedestroy($this->image); } В GDLib (при сохранении PNG) качество указывается от 0 (без сжатия) до 9 (максимальное сжатие). Так что round((100-$quality)/10) даст примерно подходящее по смыслу значение.
  4. А это разве не похоже на ответ про оперативку?
  5. «tried to allocate 1362301682 bytes» это похоже, что скрипт пытался выделить себе 1,3 гигабайта (чуть меньше 1,27 ГБ вообще то, если правильно считать). Так что на хостинге памяти не хватит. Попробуйте зайти через PHPMyAdmin и посмотреть, как в этой БД дела обстоят с таблицами. Может в какой-нибудь из таблиц стало слишком много записей и их можно удалить. Если PHPMyAdmin не сработает и покажет похожую ошибку, есть смысл зайти через SSH и через консоль подключиться к mysqladmin и там пошерстить запросами данные. Сразу предупреждаю, я не возьмусь — я только советчик. — вы же уже пробовали, сорри, невнимательно первый пост прочитал. У вас же пишется, ещё кстати, «Access denied for user 'bakzzz'@'localhost'» — может что-то с конфигом? Посмотрите, правильный ли пароль для доступа к БД используется? Файлы: /config.php и /admin/congif.php Может кто-то поменял пароль для доступа к БД, а вам не сказал.
  6. Afwollis, с другой стороны, это архитектурная проблема опенкарта. Я бы вообще обернул эти инпуты в <form> и потом в data подставлял бы не километровую строку с выбором каждого значения, а простое выражение, вроде: data: $('#review_form').serialize(), Такой вариант гораздо проще поддерживать, так как в случае изменений в форме отправки отзыва не придётся из километровой строки делать двухкилометровую (да и вообще не нужно будет ничего с этим куском кода делать). К тому же в этом случае вообще будет неважно, какой сторонний модуль какие имена использует, так как сериализуются данные из конкретной формы, а не собираются со всей страницы.
  7. Странно, но у меня изображения по той ссылке, которую вы опубликовали, стали меньше. В среднем, одна картинка — 100 с лишним килобайт. К тому же, эти большие версии картинок загружаются не вместе со страницей, а только в момент, когда открывается окно со слайдером больших картинок. В момент загрузки страницы с товаром они не загружаются.
  8. То же самое, но на русском: https://support.google.com/webmasters/answer/35291?hl=ru
  9. Кэш ещё нужно чистить. Потому что у вас в кэше уже есть эти файлы, но с качеством 90. А так как они уже есть, Opencart не будет для них новые версии генерировать с качеством 75 — он просто будет брать те, которые сгенерировались ещё до того, как вы принудительно задавали качество 75.
  10. Можно немного поправить файл catalog/model/tool/image.php. Найдите в нём строчку $image->save(DIR_IMAGE . $new_image); И замените на что-нибудь вроде: $image->save(DIR_IMAGE . $new_image, 75); В библиотеке Image опенкарта поддержка качества сжатия при сохранении есть, но модель ToolImage её не использует при создании кэшированной версии картинки с определённными размерами. В библиотеке Image по-умолчанию сжатие установлено в 90, поэтому картинки получаются (по объёму файла) больше, чем могли бы быть без сильно заметной потери качества.
  11. Я опубликовал модуль, который удаляет неиспользуемые картинки: Needless Image.
  12. Проблема может быть в том, что на той же странице есть HTML-элемент <INPUT> с именем «name». Например, если у вас есть форма связи — вроде заказать обратный звонок и т.д. В той форме может быть такой input-элемент. Так как он на странице находятся раньше input-элемента с отзывом, значение берётся именно оттуда. А так как он пустой, выскакивает ошибка. Как решение, можно модифицировать шаблон продукта: Файл catalog/view/theme/default/template/product/product.tpl <input type="text" name="review_name" value="" /> data: 'name=' + encodeURIComponent($('input[name=\'review_name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),
  13. По описанию, навскидку, бюджет тянет на, примерно, 50 тысяч рублей. Сроки — в районе двух недель. Возможно сделать быстрее, но обойдётся дороже (в два раза быстрее — в два раза дороже). На веблансере 8 лет и один месяц. В рамках биржи работ не так много (около 30) — в основном получается так, что сотрудничество с заказчиками продолжается за пределами биржи, и я там не появляюсь годами. Ссылку на профиль скину только после получения ТЗ. Заявку на веблансере оставить не могу, так как ваш проект уже закрыт. Было бы очень удобно оформить в виде безопасной сделки на бирже — я бы чувствовал дополнительную уверенность, что мне не придётся выбивать из вас оплату по нескольку месяцев. Вы же будете дополнительно уверены, что сроки и ТЗ будут соблюдены.
  14. Присоединяюсь к вопросу. С момента, как я опубликовал модуль, конечно, прошли только сутки, но интересно всё-таки, сколько времени займёт модерация. Я публикую бесплатный модуль «Homecards — карточки основных категорий» в разделе https://opencartforum.com/files/category/3-prochee/ Автор этого модуля точно я — он разработан с нуля.
  15. Конкретно в этом запросе слишком много двойных кавычек. Это вы после экселя получили ошибку?

×
×
  • Створити...

Important Information

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