nikonor
Завсегдатай
   
Репутация: +49/-0
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"))) Пользуемся 
|
|
|
|
« Последнее редактирование: 02.07.2008, 07:21:26 от nikonor »
|
Записан
|
|
|
|
| |
|
Gruz
|
 |
« Ответ #1 : 01.07.2008, 18:00:07 » |
|
1. А как это будет работать, если у меня на локале, скажем, Windows-1251. Я поменяю это под себя для тестов. А на сервере всё же будет UTF-8. Будет работать после хака? 2. Аналогичная проблема у меня при добавлении товара в корзину, если у него есть кириллический атрибут. Есть решение, или искать по образу и подобию? 3. Очевидно, таких траблов с кодировкой будет дофига вылезать. Буржуи просто не видят проблемы. :-(
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #2 : 01.07.2008, 22:38:57 » |
|
1. Попробуй - расскажешь  2. Это вот тебе спасибо ... навел на мысль куда копать .... я-то думаю почему у меня в корзину ничего не лезет при наличии свойств у продукта (завтра поковыряю) 3. no comments
|
|
|
|
|
Записан
|
|
|
|
|
Gruz
|
 |
« Ответ #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
|
 |
« Ответ #4 : 02.07.2008, 00:23:41 » |
|
Ти пишешь: $keyword = iconv("Utf-16","Windows-1251",$keyword); Наверное имелось ввиду Utf-8?
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #5 : 02.07.2008, 07:29:00 » |
|
Utf-16 написал сознательно  При UTF-8 вылезают весьма забавные крякозябры ...
|
|
|
|
|
Записан
|
|
|
|
|
Gruz
|
 |
« Ответ #6 : 02.07.2008, 10:59:20 » |
|
У меня при УТФ-16 не работает вообще. Только при УТФ-8.
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #7 : 02.07.2008, 11:06:57 » |
|
тогда каждый пусть выставляет что работает у него насчет товаров с атрибутами в кириллице - все бы ничего, да вот только в корзине свойство выводится как ??????? нужно опять копать 
|
|
|
|
|
Записан
|
|
|
|
|
Gruz
|
 |
« Ответ #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
Пол: 
Сообщений: 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
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #10 : 02.07.2008, 16:22:50 » |
|
Вобщем вот наша писанина в готовом хаке, если кому нужно Разархивировать и установить поверх оригинальных файлов. Актуально для VirtueMart 1.1.0 и 1.1.1 не забываем делать бэкап!
|
|
|
|
|
Записан
|
|
|
|
beagler
Moderator
   
Репутация: +316/-4
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
Сообщений: 79
|
 |
« Ответ #12 : 03.09.2008, 00:51:02 » |
|
...а у меня вообще весело! ...товары выведенные на главную страницу модулем VirtueMart Featured Products добавляются в корзину без проблемм(именно с главной страницы), но при попытке добавить в корзину эти же товары с общего каталога магазина появляется всплывающее меню с уже известным текстом! В чём может быть проблемма?
|
|
|
|
|
Записан
|
|
|
|
Serik555
Захожу иногда

Репутация: +3/-0
Offline
Пол: 
Сообщений: 19
|
 |
« Ответ #13 : 29.09.2008, 11:08:59 » |
|
А как насчет кирилицы при генерации PDF Fly page страницы товара?
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Offline
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #14 : 17.10.2008, 14:23:40 » |
|
Serik555 вопрос в тему. Там вместо кириллицы кракозябли 
|
|
|
|
|
Записан
|
|
|
|
Arisha
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 21
|
 |
« Ответ #15 : 19.11.2008, 21:32:28 » |
|
Помогите!!!  Нет сил уже голову ломать и перебирать варианты. Проблема все та же. Первым делом поставила хак от 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, не помогло  .Что делать? Писать как-то транслитом атрибуты некрасиво. Какие еще варианты есть?
|
|
|
|
« Последнее редактирование: 19.11.2008, 22:07:56 от Arisha »
|
Записан
|
|
|
|
nsl2004
Захожу иногда

Репутация: +0/-0
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? 
|
|
|
|
|
Записан
|
|
|
|
nsl2004
Захожу иногда

Репутация: +0/-0
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
Сообщений: 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  залил архив 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
|
|
|
|
|
Записан
|
|
|
|
evpadallas
Осваиваюсь на форуме
 
Репутация: +22/-0
Offline
Пол: 
Сообщений: 199
|
 |
« Ответ #20 : 14.03.2009, 10:24:36 » |
|
Обновите магазины до 1.1.3 там уже эти проблемы решены. Проверено.
|
|
|
|
|
Записан
|
|
|
|
nsl2004
Захожу иногда

Репутация: +0/-0
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
|
 |
« Ответ #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
|
 |
« Ответ #24 : 26.05.2009, 15:44:40 » |
|
Аналогичная проблема. Joomla 1.5.10 & Virtuemart 1.1.3 не работает данная модификация. Кто-нибудь исправлял?
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
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. Кто знает куда здесь рыть? Начинаем рыть, друзья 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
Сообщений: 8
|
 |
« Ответ #26 : 06.06.2009, 17:52:40 » |
|
nikonor, БРАВО!!! 
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #27 : 11.06.2009, 13:35:55 » |
|
ставил сейчас магазин 1.1.3 на joostina 2.0 проблема - сопутсвующие товары не найти  Решение: достаточно сделать правки только в файле product.ajax_tools.php. Как и что править описано в первом посте (только слегка сдвинулись строки)
|
|
|
|
|
Записан
|
|
|
|
FlahsAxel
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 150
|
 |
« Ответ #28 : 16.06.2009, 21:48:07 » |
|
Ставлю магазин 1.1.3 на Joomla 1.5.10. Denwer. Русифицировал, utf-8
Не наполняется корзина. Все тоже сообщение Для того, чтобы добавить этот товар в Вашу корзину Вы должны выбрать свойства товара на странице с его описанием.
Перепробовал ВСЕ варианты описанные здесь, не помогает.
У кого работает в этой связке, выложьте плизз, свои файлы (те, что рекомендуется здесь редактировать). Спасибо.
|
|
|
|
|
Записан
|
|
|
|
Dasboot
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Пол: 
Сообщений: 146
|
 |
« Ответ #29 : 21.06.2009, 20:14:14 » |
|
тестировал на Joomla 1.5.10 (сам дистриб и перевод скачан с Joomlaportal.ru), магазин VirtueMart 1.1.3 (перевод из лэнгпака с офф сайта) Вердикт: хак не нужен, все работает изумительно и без него. Из всех вышеописанных проблем имеет место быть только этоНачинаем рыть, друзья 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#newjoomla 1.5.9 + 1.1.3 после добавления "Габаритов и веса" (с русскими словами - Ширина, глубина) появились крокозябры и только в том месте где выводится поле "Габариты". Все остальное на русском прекрасно видно.
|
|
|
|
|
Записан
|
|
|
|
|