|
||||||
|
Решаем ошибку Virtuemart: TCPDF ERROR: [Image] Unable to get the size of the image:Столкнулся с чудной ошибкой в Virtuemart 3, при изменении статуса заказа на подтвержден, а так же если хочешь просмотреть счет, то получаешь вместо pdf такую ошибку «TCPDF ERROR: [Image] Unable to get the size of the image:http://домен_сайта/images/storie...mart/shipment/ ». Собственно в ошибке говорится что «TCPDF» плагин отвечающий за формирование пдф счетов, не может узнать размер какого-то изображения. Если дальше капнуть, то выясняется что это изображение связано с видом оплаты. Идем дальше и выясняется, что это логотип способа оплаты или доставки. На одном из заморских форумах советуют добавить или наоборот удалить логотип в способе доставки и оплаты, к сожалению я не нашел где это можно сделать. Да и в моем случае мне он там сильно и не нужен, но всё же это не решение проблемы, а обход. Решение не такое уж и сложное что бы его не применить, всего-то нужно добавить условие на проверку существования логотипа. Так как проверку, почему то разработчики не сделали, то следующая функция пытается узнать размер логотипа (которого просто не существует) что бы его в определенном размере добавить в пдф, но ничего найти не может и весь скрипт виснет. Я же предлагаю убрать эту небольшую оплошность разработчиков. Нам понадобится файл «vmpsplugin.php», он находится по адресу «/administrator/components/com_virtuemart/plugins/». Открываем этот файл для редактирования любым удобным для вас текстовым редактором или «Dreamweaver». Находим строки:
заменяем на:
Или добавляем после начала цикла:
Условие проверки на существования логотипа, хотя правильней проверка на заполненость этой переменной, но не суть важно, свою роль это условие выполняет правильно.
И самое главное не забудьте добавить закрытие сравнения перед закрытием цикла, то есть «}». Хотя можно и после, не критично. Если у вас полностью совпадает код с моим, то можете смело копировать и заменять. Если же чем то отличается, то советую вставить условие отдельно. Так же у вас должен быть установлен компонент «com_tcpdf» иначе я так думаю все, что я написал выше, вам не поможет. Старые счета у меня так и не заработали, но вот вновь созданные работают на ура. Правда в счетах оказался еще один баг, но его решение я опишу в другой статье, так как к этой ошибке он не имеет отношения. Похожий материал:
|
|||||
Главная | Портфолио | Услуги | Контакты | Блог |