LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 21:34:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1] 2 3  Все   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Решение проблем с кириллицей в Virtuemart 1.1.x  (Прочитано 40793 раз)
0 Пользователей и 1 Гость смотрят эту тему.
nikonor
Завсегдатай
*****

Репутация: +49/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Content Grabber


« : 20.06.2008, 17:30:46 »

Если кто-то пытался добавить сопутствующие товары в VirtueMart 1.1, то возможно столкнулся с тем, что при написании в поле поиска названия товара выпадает либо пустой список, либо вообще списка нет.
Пришлось поковырять. Вот решение.
Файл product.product_form.php строка 1422
Код:
'<tpl for="."><div class="x-combo-list-item">{category} / {product}</div></tpl>'
меняем на
Код:
'<tpl for="."><div class="x-combo-list-item"><?php echo iconv("Utf-8","windows-1251","{category}"); ?> / <?php echo iconv("Utf-8","windows-1251","{product}"); ?></div></tpl>'
Файл product.ajax_tools.php строка 87
Код:
$keyword = $db->getEscaped(vmGet( $_REQUEST, 'query' ));
после нее вставляем
Код:
$keyword = iconv("Utf-16","Windows-1251",$keyword);
далее там же строки 112 и 113
Код:
'category' => htmlspecialchars($db->f("category_name")),
'product' => htmlspecialchars($db->f("product_name"))
меняем на
Код:
'category' => iconv("Windows-1251","Utf-8",htmlspecialchars($db->f("category_name"))),
'product' => iconv("Windows-1251","Utf-8",htmlspecialchars($db->f("product_name")))

Пользуемся Azn
« Последнее редактирование: 02.07.2008, 07:21:26 от nikonor » Записан
 
Gruz
Живу я здесь
******

Репутация: +147/-1
Offline Offline

Пол: Мужской
Сообщений: 1274


Бутылочку оставьте?


« Ответ #1 : 01.07.2008, 18:00:07 »

1. А как это будет работать, если у меня на локале, скажем, Windows-1251. Я поменяю это под себя для тестов. А на сервере всё же будет UTF-8. Будет работать после хака?
2. Аналогичная проблема у меня при добавлении товара в корзину, если у него есть кириллический атрибут. Есть решение, или искать по образу и подобию?
3. Очевидно, таких траблов с кодировкой будет дофига вылезать. Буржуи просто не видят проблемы. :-(
Записан
nikonor
Завсегдатай
*****

Репутация: +49/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Content Grabber


« Ответ #2 : 01.07.2008, 22:38:57 »

1. Попробуй - расскажешь Azn
2. Это вот тебе спасибо ... навел  на мысль куда копать .... я-то думаю почему у меня в корзину ничего не лезет при наличии свойств у продукта (завтра поковыряю)
3. no comments
Записан
Gruz
Живу я здесь
******

Репутация: +147/-1
Offline Offline

Пол: Мужской
Сообщений: 1274


Бутылочку оставьте?


« Ответ #3 : 01.07.2008, 23:37:50 »

1. Геморройно.
2. Решение проблеммы: товар с атрибутами в кириллице не добавляется
administrator\components\com_virtuemart\classes\ps_product_attribute.php
В строке 934 после
Код:
$pagevar .= $d['prod_id'] ;
заменяю
Код:
$pagevar = $encodefunc( $pagevar ) ;
      
на
Код:
//##my200806012231begin Щоби товари з атрибутами в кирилиці додавались до кошика. Треба, коли кодування сервер windows-1251
if( strtolower( vmGetCharset() ) == 'windows-1251' ) {
$pagevar = iconv("windows-1251","Utf-8","$pagevar"); }
else
//##my200806012231end
$pagevar = $encodefunc( $pagevar ) ;

Предлагаю тему переименовать в что-то на подобие "Решение проблеммы virtuemart 1.1.0 с кириллицей".

p.s.
Материал по теме
http://phptunes.blogspot.com/2007/01/phpjson.html
« Последнее редактирование: 01.07.2008, 23:41:21 от Gruz » Записан
Gruz
Живу я здесь
******

Репутация: +147/-1
Offline Offline

Пол: Мужской
Сообщений: 1274


Бутылочку оставьте?


« Ответ #4 : 02.07.2008, 00:23:41 »

Ти пишешь:
Код:
$keyword = iconv("Utf-16","Windows-1251",$keyword);
Наверное имелось ввиду Utf-8?
Записан
nikonor
Завсегдатай
*****

Репутация: +49/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Content Grabber


« Ответ #5 : 02.07.2008, 07:29:00 »

Utf-16 написал сознательно Azn При UTF-8 вылезают весьма забавные крякозябры ...
Записан
Gruz
Живу я здесь
******

Репутация: +147/-1
Offline Offline

Пол: Мужской
Сообщений: 1274


Бутылочку оставьте?


« Ответ #6 : 02.07.2008, 10:59:20 »

У меня при УТФ-16 не работает вообще. Только при УТФ-8.
Записан
nikonor
Завсегдатай
*****

Репутация: +49/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Content Grabber


« Ответ #7 : 02.07.2008, 11:06:57 »

тогда каждый пусть выставляет что работает у него
насчет товаров с атрибутами в кириллице - все бы ничего, да вот только в корзине свойство выводится как ???????
нужно опять копать Azn
Записан
Gruz
Живу я здесь
******

Репутация: +147/-1
Offline Offline

Пол: Мужской
Сообщений: 1274


Бутылочку оставьте?


« Ответ #8 : 02.07.2008, 11:24:57 »

У меня всё окей.
А что у тебя стоит?
У меня последний Денвер 3
Ставился из файла Denwer3_Base_2008-01-13_a2.2.4_p5.2.4_m5.0.45_pma2.6.1.exe
PHP Version 5.2.4
БД в кодировке cp1251_general_ci
Virtuemart 1.1.0
Joomla 1.0.12


Видимо у меня не прописан UTF-16 в принципе.
А если в моём хаке поправить для тебя на utf-16 - не решается проблемма?

Какие есть идеи по поводу принципиального решения проблеммы?
« Последнее редактирование: 02.07.2008, 11:40:26 от Gruz » Записан
nikonor
Завсегдатай
*****

Репутация: +49/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Content Grabber


« Ответ #9 : 02.07.2008, 15:56:51 »

значит так .. исправляем если у кого в корзине итрибуты выглядят не так как нужно
файл ps_product_attribute.php строка примерно 946
находим это
Код:
$description .= $a . ":" ;
$description .= empty( $d[$pagevar] ) ? '' : $decodefunc( $d[$pagevar] );
меняем на
Код:
$description .= $a . ":" ;
$description .= empty( $d[$pagevar] ) ? '' : $d[$pagevar];
ставим перед этим
Код:
if( strtolower( vmGetCharset() ) == 'windows-1251' ) {
$d[$pagevar] = iconv("Utf-8","windows-1251",$d[$pagevar]);
}else{
$d[$pagevar] = $decodefunc( $d[$pagevar] );
}

ниже находим
Код:
$description .= $field . ":" ;
$description .= empty( $d[$pagevar] ) ? '' : $decodefunc( $d[$pagevar] );
меняем на
Код:
$description .= $field . ":" ;
$description .= empty( $d[$pagevar] ) ? '' :  $d[$pagevar];
и вставляем перед этим
Код:
if( strtolower( vmGetCharset() ) == 'windows-1251' ) {
$d[$pagevar] = iconv("Utf-8","windows-1251",$d[$pagevar]);
}else{
$d[$pagevar] = $decodefunc( $d[$pagevar] );
}
Записан
nikonor
Завсегдатай
*****

Репутация: +49/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Content Grabber


« Ответ #10 : 02.07.2008, 16:22:50 »

Вобщем вот наша писанина в готовом хаке, если кому нужно
Разархивировать и установить поверх оригинальных файлов. Актуально для VirtueMart 1.1.0 и 1.1.1
не забываем делать бэкап!

* vm_110_kirilic_hack.zip (25.57 Кб - загружено 510 раз.)
Записан
beagler
Moderator
*****

Репутация: +316/-4
Online Online

Пол: Мужской
Сообщений: 2994


http://beagler.ru/


« Ответ #11 : 22.07.2008, 15:10:49 »

В прикрепленном архиве в файле ps_product_attribute.php ошибка - в 934 строке надо убрать '}'
« Последнее редактирование: 22.07.2008, 15:56:05 от beagler » Записан
crazy81
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 79


« Ответ #12 : 03.09.2008, 00:51:02 »

...а у меня вообще весело!
...товары выведенные на главную страницу модулем VirtueMart Featured Products добавляются в корзину без проблемм(именно с главной страницы), но при попытке добавить в корзину эти же товары с общего каталога магазина появляется всплывающее меню с уже известным текстом!
В чём может быть проблемма?
Записан
Serik555
Захожу иногда
**

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 19


« Ответ #13 : 29.09.2008, 11:08:59 »

А как насчет кирилицы при генерации PDF Fly page страницы товара?
Записан
bzzik
JComments Tester
*

Репутация: +219/-0
Offline Offline

Пол: Мужской
Сообщений: 3798


Contra Gaming Community


« Ответ #14 : 17.10.2008, 14:23:40 »

Serik555 вопрос в тему. Там вместо кириллицы кракозябли Sad
Записан
Arisha
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #15 : 19.11.2008, 21:32:28 »

Помогите!!! Huh Нет сил уже голову ломать и перебирать варианты. Проблема все та же. Первым делом поставила хак от nikonorа, ошибка осталась та же: "Notice: Undefined index: Размер20 in administrator\components\com_virtuemart\classes\ps_product_attribute.php on line 945" вот на эту
Код:
$d[$pagevar] = iconv("Utf-8","windows-1251",$d[$pagevar]); // Nikonor hack

+"Совет: Для того, чтобы добавить этот товар в Вашу корзину Вы должны выбрать свойства товара на странице с его описанием." и внизу под списком свойств еще "Notice: Array to string conversion in x:\home\localhost\www\ottobockreg\administrator\components\com_virtuemart\classes\phpInputFilter\class.inputfilter.php on line 108".
Вернула файлы на оригинальные, поменяла кодировку полей атрибутов товара на utf-8, не помогло Angry.Что делать? Писать как-то транслитом атрибуты некрасиво. Какие еще варианты есть?
« Последнее редактирование: 19.11.2008, 22:07:56 от Arisha » Записан
nsl2004
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 18


« Ответ #16 : 21.02.2009, 17:02:46 »

 Если кто-то пытался добавить сопутствующие товары в VirtueMart 1.1, то возможно столкнулся с тем, что при написании в поле поиска названия товара выпадает либо пустой список, либо вообще списка нет.
Пришлось поковырять. Вот решение.
Файл product.product_form.php строка 1422

Код:
'<tpl for="."><div class="x-combo-list-item">{category} / {product}</div></tpl>'меняем на


Пардон но что то я этих строк ненаблюдаю. Это точно файл из VM 1.1.0?
Cheesy
Записан
nsl2004
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 18


« Ответ #17 : 21.02.2009, 20:58:14 »

Вот что то похожее - в 1433 - это не важно, но как прикрутить то что написал уважаемый GRUZ

Цитировать
var resultTpl = new Ext.Template(
        '<div class="search-item">{category} / {product}</div>'
    );
Записан
Exciter
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 78


« Ответ #18 : 04.03.2009, 21:09:46 »

Тема помогла. Gruz и nikonor +1 каждому если бы знал где их ставить.
Записан
anykey
Гость
« Ответ #19 : 11.03.2009, 05:38:42 »

приветствую всех. таже самая проблемка joomla 1.5 и 1.0 virt 1.1.2
сделал как велел nikonor Aznзалил архив vm_110_kirilic_hack.zip  список с товаром появился, но всё в краказябрах и кнопка купить на фронтенде обзавелась такой вот абревеатурой  Warning: Missing argument 2 for ps_product_attribute::list_attribute(), called in /home/radioran/public_html/new/components/com_virtuemart/themes/default/templates/product_details/includes/addtocart_form.tpl.php on line 10 and defined in /home/radioran/public_html/new/administrator/components/com_virtuemart/classes/ps_product_attribute.php on line 195


* FireShot-capture.jpg (49.81 Кб, 553x309 - просмотрено 626 раз.)
Записан
evpadallas
Осваиваюсь на форуме
***

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 199



« Ответ #20 : 14.03.2009, 10:24:36 »

Обновите магазины до 1.1.3 там уже эти проблемы решены. Проверено.
Записан
nsl2004
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 18


« Ответ #21 : 14.03.2009, 11:35:48 »

Обновите магазины до 1.1.3 там уже эти проблемы решены. Проверено.
Поставил посмотрел. Меня интересовали сопутствующие товары. Если название на русском , то ничего не ищет и добавить не удается, на англиском работает. Т.ч и в 1.1.3 эта функция не работает. Напиши точно конфигурацию Сервер-Joomla-VM может дело в уникальном сочетании?
Записан
anykey
Гость
« Ответ #22 : 15.03.2009, 23:07:04 »

Обновите магазины до 1.1.3 там уже эти проблемы решены. Проверено.
ставил вирт 1.1.3 плюс русик ,на  joomla 1.0.15 seo сборка и на 1.5.9 , всё тоже самое, можт вирт какойнить другой или русик кривой, если есть вазможность дайте ссылочку пожалста на тот каторый тестили ,или на почту кинте плиз admrbk@ya.ru  , ато из за вирта немогу на joomla 1.5.9 перейти
заранее благодарен
Записан
Autocom
Давно я тут
****

Репутация: +2/-0
Offline Offline

Сообщений: 247


« Ответ #23 : 10.04.2009, 19:48:00 »

Joomla 1.5.9 и Virtuemart 1.1.3 при нажатии на ссылку "Позвоните, чтобы узнать цену", в форме запроса кракозябры вместо кириллицы.
И база и сайт в utf-8. Кто знает куда здесь рыть?
« Последнее редактирование: 10.04.2009, 19:52:08 от Autocom » Записан
PaLyCH
Живу я здесь
******

Репутация: +139/-14
Offline Offline

Пол: Мужской
Сообщений: 1369


Архитектор сайтов


« Ответ #24 : 26.05.2009, 15:44:40 »

Аналогичная проблема. Joomla 1.5.10 & Virtuemart 1.1.3 не работает данная модификация. Кто-нибудь исправлял?
Записан
nikonor
Завсегдатай
*****

Репутация: +49/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Content Grabber


« Ответ #25 : 26.05.2009, 17:23:12 »

тестировал на Joomla 1.5.10 (сам дистриб и перевод скачан с joomlaportal.ru), магазин Virtuemart 1.1.3 (перевод из лэнгпака с офф сайта)
Вердикт: хак не нужен, все работает изумительно и без него.
Из всех вышеописанных проблем имеет место быть только это
Цитировать
Joomla 1.5.9 и Virtuemart 1.1.3 при нажатии на ссылку "Позвоните, чтобы узнать цену", в форме запроса кракозябры вместо кириллицы.
И база и сайт в utf-8. Кто знает куда здесь рыть?
Начинаем рыть, друзья Azn
administrator\components\com_virtuemart\classes\ps_product.php
строка 2065
Код:
$product_name = htmlentities( $this->get_field($product_id, 'product_name'), ENT_QUOTES );
меняем это на
Код:
$product_name =  htmlspecialchars( $this->get_field($product_id, 'product_name'), ENT_QUOTES );
Записан
GreenMay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #26 : 06.06.2009, 17:52:40 »

nikonor, БРАВО!!! Cheesy
Записан
nikonor
Завсегдатай
*****

Репутация: +49/-0
Offline Offline

Пол: Мужской
Сообщений: 441


Content Grabber


« Ответ #27 : 11.06.2009, 13:35:55 »

ставил сейчас магазин 1.1.3 на joostina 2.0
проблема - сопутсвующие товары не найти Azn
Решение: достаточно сделать правки только в файле product.ajax_tools.php.
Как и что править описано в первом посте (только слегка сдвинулись строки)
Записан
FlahsAxel
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 150


« Ответ #28 : 16.06.2009, 21:48:07 »

Ставлю магазин 1.1.3 на Joomla 1.5.10. Denwer.
Русифицировал, utf-8

Не наполняется корзина. Все тоже сообщение
Для того, чтобы добавить этот товар в Вашу корзину Вы должны выбрать свойства товара на странице с его описанием.

Перепробовал ВСЕ варианты описанные здесь, не помогает.

У кого работает в этой связке, выложьте плизз, свои файлы (те, что рекомендуется здесь редактировать).
Спасибо.
Записан
Dasboot
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 146



« Ответ #29 : 21.06.2009, 20:14:14 »

тестировал на Joomla 1.5.10 (сам дистриб и перевод скачан с Joomlaportal.ru), магазин VirtueMart 1.1.3 (перевод из лэнгпака с офф сайта)
Вердикт: хак не нужен, все работает изумительно и без него.
Из всех вышеописанных проблем имеет место быть только этоНачинаем рыть, друзья Azn
administrator\components\com_VirtueMart\classes\ps_product.php
строка 2065
Код:
$product_name = htmlentities( $this->get_field($product_id, 'product_name'), ENT_QUOTES );
меняем это на
Код:
$product_name =  htmlspecialchars( $this->get_field($product_id, 'product_name'), ENT_QUOTES );
Получается, так же надо и для веса с габаритами прописывать ?

http://joomlaforum.ru/index.php/topic,54039.new.html#new

joomla 1.5.9 + 1.1.3

после добавления "Габаритов и веса" (с русскими словами - Ширина, глубина) появились крокозябры и только в том месте где выводится поле "Габариты".

Все остальное на русском прекрасно видно.
Записан
Страниц: [1] 2 3  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet