Автор Тема: [РЕШЕНО] Кирилица в PDF для версии 1.4.5.1. Ошибка FPDF error  (Прочитано 2410 раз)

05 Март 2014, 18:46:24
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Привет, всем! Помогите разобраться!!!
В счете заказа в PDF-файле кириллица вся криво написана, иероглифами. Читала по этой теме на просторах интернета. Вот что вычитала и сделала:

Скачала архив шрифта verdana, содержимое закинула в папку /tools/fpdf/font
В панели управления магазином Orders — PDF выбрала: кодировка — verdana, Шрифт — cp1251. Сработало, но вместо русского «руб.», были непонятные загогулины. Для этого редактировала файл /classes/PDF.php:
static protected function convertSign($s)
{
$arr['before'] = array('€', '£', '¥');
$arr['after'] = array(chr(128), chr(163), chr(165));
return  str_replace($arr['before'], $arr['after'], $s);
}

Заменила на:

static protected function convertSign($s)
{
$arr['before'] = array('€', '£', '¥');
$arr['after'] = array(chr(128), chr(163), chr(165));
$s = str_replace($arr['before'], $arr['after'], $s);
return iconv('UTF-8', 'windows-1251', $s);
}

Счета стали отображаться без ошибок, как нужно, но в личном кабинете пользователя ошибка. FPDF error: Some data has already been output, can't send PDF file. И нельзя просмотреть документы. Как исправить? Или как сделать по-другому отображение кирилицы в PDF? Может дело в хостере? Тут темы читала, ответов не нашла, только запуталась((((
05 Март 2014, 19:05:59
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Поставьте модуль локализатор, это самый простой способ.
05 Март 2014, 19:38:29
Ответ #2
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Adik, это какой локализатор? Название, как и куда ставить и что он даст :) И данные в файле PDF.php нужно вернуть на место?
Спасибо!
05 Март 2014, 20:06:09
Ответ #3
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ставил этот модуль, pdf нормально работал.
05 Март 2014, 20:42:23
Ответ #4
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Andron, подскажите как его ставить? Поподробнее скажите (или где почитать) для чего он?
Спасибо!
06 Март 2014, 12:39:03
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Распакуйте, скопируйте в директории, соблюдая названия папок в модуле.
В админке в модулях найдите модуль локализатор и установите.
Зайдите в настройки модуля и там выберите, что хотите сделать. 
06 Март 2014, 13:19:03
Ответ #6
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Установка простая
1. Скачать и расспаковать архив
2. Скопировать файлы (в какие папки указано в архиве, там все файлы лежат уже в нужных папках).
3.  В панели администратора в меню «Modules» и в разделе «Other Modules» появиться модуль «Локализатор».  Нажмите кнопку «Install».
4.  Зайти в настройки (Configure), в разделе «Импорт перевода» выбрать «Русский» и нажать «Выполнить». Это перевод магазина в целом, можно не делать, если вы уже переводили в ручную. Также можно поменять ставки налогов (тоже не обязательно) в разделе «Региональные настройки». Если обновили язык, то нужно во  вкладке «Employees» выбрать акк, под которым вошли в магазин,  и поменять язык на русский (если уже он выбран, то переключить  и сохранить).
Там же в архиве вы найдете файлы для поддержки кириллицы в ЧПУ, PDF (с поддержкой юникода, не нужно будет закачивать доп.шрифты),  поиска на русском. Просто скопируйте эти файлы к себе на сервер, соблюдая вложенность.

06 Март 2014, 19:14:43
Ответ #7
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
coder, спасибо! Andron, огромное спасибо за подробное описание! Установила, закинула всё в папки, обновила русский, остальное не трогала. ВСЁ РАБОТАЕТ!!! ВЫ ТАКИЕ МОЛОДЦЫ!!!!!!!! ОГРОМНОЕ СПАСИБО!!!!!!
Тема закрыта!