Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 133 Ответов
  • 41518 Просмотров
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Решение проблемы русских символов при добавлении пользователем своего варианта ответа.

Установил опрос PollXT, никаких проблем с кодировкой в процессе эксплуатации не обнаружил, пока...

пока не захотел дать возможность пользователю добавлять свой вариант ответа.

Есть там такое в настройках. Чтобы его активировать нужно зайти в Опрос, нажать Вопрос, выбрать один из Ответов на него и в настройках указать

Произвольный текст - Да

Новый вариант ответа? - на выбор:
  • Никода - х.з. - наверное только из тех, кот. есть в опросе
  • Только зарегистрированные - х.з., наверное только из всех вариантов, которые есть в базе
  • Всегда (неопубликованные) - вариант добавится, но будет виден только в админке, пользователь его не увидит
  • Всегда (опубликованные) - вариант добавится прямо на страницу опроса и пользователь его увидит (после обновления страницы)

С первыми двумя предлагаю поэкспериментировать самостоятельно и отписать сюда же.

Главное с чем вы столкнётесь, дав пользователю возможность добавлять свой вариант ответа - это:

варианты, состоящие из русских букв будут заноситься в базу в непонятной кодировке.

Решению этой проблемы я посвятил целых 2 вечера (это было уже принципиально :-) )... самое трудное было найти в каком месте значение заносится в базу... или готовится к занесению. Но решение было найдено!

В файле components/com_pollxt/script/pollxt.js замените

Код
ft = new Array(el.id.substr(1,el.id.length), el.value);

на

Код
ft = new Array(el.id.substr(1,el.id.length), encodeURIComponent(el.value)); 

А в файле components/com_pollxt/class/pollxt.vote.php замените

Код
$odb->qoption = html_entity_decode($val);

на

Код
$odb->qoption = html_entity_decode(preg_replace('/%([0-9a-f]{2})/ie', "chr(hexdec('\\1'))", $val));

Это частая ошибка, которая возникает при работе AJAX и кириллических символов. Для её излечения я сначала в файле с JavaScript-кодом перекодировал значение добавляемого пользователем варианта в UTF-8, а перед занесением в базу уже на PHP раскодировал его.

Я думаю, что решение универсальное... и если у Вас используется AJAX в связке с PHP и возникли проблемы с передачей кириллических символов, то этот вариант может "прокатить". Главное найти JavaScript-код, в котором значение передаётся на AJAX-сервер, и php-код на этом сервере, где полученное значение уже заносится в базу.

Если Ваш сайт работает в кодировке cp1251, то возможно, понадобится дополнительное преобразование. Подробнее читайте, пожалуйста, вот тут:

AJAX и русские буквы - проблема с кодировкой

P.S. Модифицированную версию (русский перевод тоже включен!) PollXT с учетом всех изменений, описанных во всех сообщениях этой темы можете взять тут:

http://ecolora.com/index.php/programmy/category/4-joomla
_____________________________________
Если Вы хотите отблагодарить меня за проделанную работу, зарегистрируйтесь по этим партнёрским ссылкам:



Это биржи ссылок. Из личного опыта: к примеру, доход для вёбмастера для сайта с тИЦ 10 и PR 2 - с каждой из них от 1000 р./мес и выше.
« Последнее редактирование: 14.03.2012, 19:55:24 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Что делать с двумя появившимися списками выбора опроса в одном и том же модуле?

Ну и до кучи, так сказать, вылезла ещё одна проблема: с интерфейсом. Когда пользователь нажимает кнопку результаты или назад, у него вверху появляется 2 списка одинакового вида:

Цитировать
Выберите опрос.
"Список опросов..."
Выберите опрос.
"Список опросов..."

Только вот после выбора варианта первого списка показываются вопросы опроса, а второго - результаты опроса.

Можно конечно зайти в настройки и убрать возможность выбора из выпадающего списка других результатов опроса. Есть там такое. Но лучше сделать интерфейс более юзабельным:

Для этого в файле language/ru-ru/ru-Ru.com_pollxt.ini добавляем 2 строчки:

Код
POLLXT_SEL_POLL_RESULTS=Результаты опроса:
SEL_POLL_RESULTS=Результаты опроса:

А в файле components/com_pollxt/class/pollxtresult.class.php меняем строки:

Код
$opts[] = JHTML::_('select.option', "", JText::_('SEL_POLL'));

на

Код
$opts[] = JHTML::_('select.option', "", JText::_('SEL_POLL_RESULTS'));

и

Код
$ret .= JText::_('POLLXT_SEL_POLL');

на

Код
$ret .= JText::_('POLLXT_SEL_POLL_RESULTS');

Всё. Теперь опросы выбираются логично: верхний список - вопросы, нижний - результаты.

И ещё: если Вы заметили, то один из списков широкий, а другой - нет. Широкий список в некоторых шаблонах может вылазить за границы модуля. Исправляется это следующим образом: В файле components/com_pollxt/class/pollxt.voteform.php в строку:

Код
$pollist .= "\n".JText::_('POLLXT_SEL_POLL')."<select name=\"id\" class=\"inputbox\" size=\"1\"

добавляем style=\"width:160px\" , т.е. получится:

Код
$pollist .= "\n".JText::_('POLLXT_SEL_POLL')."<select style=\"width:160px\" name=\"id\" class=\"inputbox\" size=\"1\"

« Последнее редактирование: 17.06.2010, 06:38:11 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Как убрать в Internet Explorer 6.0. большие отступы между вариантами ответов в Результатах опроса.

В некоторых шаблонах может наблюдаться такая картина: между вариантами ответов в результатах опроса слишком большой отступ. Т.е. например:

Цитировать
Что Вы любите?
Хлеб
[[[[[]]]]]]] 50%


Колбасу
[[[[[[]]]]]] 50%


Яйца
[] 0%

а нужно имет такой вид:

Цитировать
Хлеб
[[[[[]]]]]]] 50%
Колбасу
[[[[[[]]]]]] 50%
Яйца
[] 0%

Проблема заключается в том, что для формирования цветного прямоугольника (обозначающего визуально процентное соотношение варианта ответа) используется, Внимание! картинка с высотой 69px. И хотя у неё установлено значение height=5px и border=2px (итого 5+2+2=9px в высоту), только Firefox, Opera и даже IE >= 7.0 версии прекрасно такое значение понимают, а вот Internet Explorer 6.0. версии "тупит" в некоторых настройках стилей CSS хоть и показывает высоту картинки нормальную (9px), но отступ от её верхнего края делает на все 69px!

Лечится это в лоб. Нужно заменить картинку по адресу /components/com_pollxt/images/blank.png на такую же (прозрачную), но с реальной высотой 9px.

Можете воспользоваться для этого любым редактором, например GIMP-ом.
« Последнее редактирование: 16.06.2010, 11:22:29 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
PollXT и пустые (null) картинки у ответов и вопроса в результатах.

У некоторых пользователей (фанатов IE, о чём далее) может возникнуть следующая проблема:

В результатах опроса (если смотреть в IE), перед вопросом и каждым вариантом ответа в Результатах опроса стоит пустая картинка 100 на 100 пикселей. Ссылка на картинку: [адрес сайта]/null. Mozilla Firefox такую картинку обрабатывает нормально и ничего на её месте не показывает.

Вариантов решения ДВА:

I.

Для устранения проблемы нужно исправить код в двух местах.

components/com_pollxt/class/pollxt.utilities.php:

Код
	if ($link == 1) {
$clicklink = "window.open('".$imgurl."','Pic', '".$imgpar."')";
$html .= "<a style=\"cursor:pointer\" onkeypress=\"".$clicklink."\" onclick = \"".$clicklink."\">";
}
$html .= "<img border=\"0\" ".$or."="."\"".$size."\" src=".$imgurl." />";
$html .= "</span>";

if ($link == 1) $html .= "</a>";

заменить на

Код
 if ($url != 'null') {
if ($link == 1) {
$clicklink = "window.open('".$imgurl."','Pic', '".$imgpar."')";
$html .= "<a style=\"cursor:pointer\" onkeypress=\"".$clicklink."\" onclick = \"".$clicklink."\">";
}
$html .= "<img border=\"0\" ".$or."="."\"".$size."\" src=".$imgurl." />";
$html .= "</span>";

if ($link == 1) $html .= "</a>";
}

components/com_pollxt/class/pollxtresult.class.php

Код
if ($r->data->ourl) {

меняем на

Код
if ((($r->data->ourl)!= 'null') && ($r->data->ourl)){

Суть корректировки в том, что добавлена проверка значения пути к картинке на равенство его 'null'.

II.

С самого начала использовать "правильный" браузер. Например Mozilla Firefox. :-) Если же опросы Вами уже созданы в IE 8.0. То придётся пересоздавать их заново либо вносить коррективы (см. выше).

IE8 (Internet Explorer) "некорректно" (по словам разработчиков) обрабатывает JavaScript и в момент сохранения вопроса и ответов во вновь созданном опросе вместо пустых значений картинок возле вопроса и ответа (если картинки не задавались) сохраняет null. В таком случае, самый очевидный и безболезненный способ решения проблемы состоит не в правке кода, а работе с админ-панелью и опросами с помощью альтернативного броузера.

Подробнее описано вот в этой ветке: http://www.joomlaxt.com/forum?func=view&catid=17&id=6853&limit=6
« Последнее редактирование: 18.06.2010, 05:36:04 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Опрос не показывается. Висит окно "Загрузка опроса".

Данная проблема может возникнуть, начиная с версии PollXT 2.00.06 (возможно ранее). Оказалось, что разработчики перешли к использованию функции mb_strlen() вместо strlen(). А если в Вашем php-интерпритаторе отключен этот модуль, то получите кукиш вместо результатов.

Что делать? Нужно активировать модуль mbstring.

Вариантов несколько:

1) Если сайт находится в интернете, то включить модуль можно в панели управления Вашим хостингом. Либо написать хостеру и изложить упомянутую выше проблему - пущай сам включает! :-) Если отказался, придётся Вам интегрировать код php на страницу Joomla с Вашим опросом (можно модулем mod_customcode или плагином sourcerer):

Код
if (!function_exists('mb_strlen')) {
function mb_strlen($str) {
return strlen(iconv("UTF-8","cp1251", $str));
}
}

2) Если сайт у Вас работает локально на Винде, то идёте в папку c php-интерпретатором (у меня это c:\php5), открываете php.ini, и убираете точку с запятой в начале строки:
Код
;extension=ext/php_mbstring.dll

Файл php_mbstring.dll  в данном случае должен лежать в папке c:\php5\ext
Возможно у Вас вообще отсутствует этот файл. При наличии интернета Вы без труда его найдёте. В крайнем случае напишите мне - поделюсь. :-)

3) Другие Варианты мной не рассматривались, потому что их не использую.
« Последнее редактирование: 17.06.2010, 11:17:52 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Loasa

  • Захожу иногда
  • 206
  • 1 / 0
красавчик =)
*

Ekzebiche

  • Новичок
  • 9
  • 0 / 0
Опрос не показывается. Висит окно "Загрузка опроса".

Данная проблема может возникнуть, начиная с версии PollXT 2.00.06 (возможно ранее). Оказалось, что разработчики перешли к использованию функции mb_strlen() вместо strlen(). А если в Вашем php-интерпритаторе отключен этот модуль, то получите кукиш вместо результатов.


У меня не висит окно "Загрузка опроса" но выводит только один символ "Ð". Подозреваю что то же самое.  В любом случае не понял как пользоваться плагином sourcerer. Поставил, запустил... А как вставить именно в опрос эти строчки PHP кода не понимаю. Помогите пожалуйста.
*

Loasa

  • Захожу иногда
  • 206
  • 1 / 0
Столкнулась с такой проблемой, что если заголовок компонента(в mainmenu к примеру) указать на русском языке, то голосования не загрузятся, идет загрузка опроса, а потом совершенно ничего! Как исправить?
*

Ekzebiche

  • Новичок
  • 9
  • 0 / 0
Столкнулась с такой проблемой, что если заголовок компонента(в mainmenu к примеру) указать на русском языке, то голосования не загрузятся, идет загрузка опроса, а потом совершенно ничего! Как исправить?

Столкунлся с этим же. Исправил следующим образом. В редактировании пункта меню ведущего на опросы в Основных параметрах" в пункте "задача" поставил "Direct Voting" а не "Show List". Заработало.

Сейчас возникла другая проблема... опрос выводиться.. а результаты нет. Пишет "_NOT_AUTH", хотя никакой регистрации на сайте нет
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
У меня не висит окно "Загрузка опроса" но выводит только один символ "Ð". Подозреваю что то же самое.  В любом случае не понял как пользоваться плагином sourcerer. Поставил, запустил... А как вставить именно в опрос эти строчки PHP кода не понимаю. Помогите пожалуйста.

Смысл в том, что если Вы установили и активировали плагин Sourcerer, то Вы можете создать обычный модуль mod_custom а там внизу будет кнопка "Insert Code". Вот это оно и есть...
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Loasa

  • Захожу иногда
  • 206
  • 1 / 0
Столкунлся с этим же. Исправил следующим образом. В редактировании пункта меню ведущего на опросы в Основных параметрах" в пункте "задача" поставил "Direct Voting" а не "Show List". Заработало.

Сейчас возникла другая проблема... опрос выводиться.. а результаты нет. Пишет "_NOT_AUTH", хотя никакой регистрации на сайте нет
Спасибо большое, у меня ваша проблема тоже возникала, но только если опрос не опубликован. Если его опубликовать, то сразу все проходило =)
*

Loasa

  • Захожу иногда
  • 206
  • 1 / 0
А как вывести только один, определенный опрос из категории? В Модуле возможность только вывода из категории... И то указываю категорию а он все равно из другой совсем выводит.
*

ireland

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Попробовал изменить 2.00.04, для решения вопроса со своим ответом - ничего не изменилось.
Скачал отсюда измененный 2.00.06 - теперь модуль даже при разрешенном повторном голосовании пишет всегда "Вы уже участвовали в этом опросе."
З.Ы. Решил проблему прибитием старой базы
« Последнее редактирование: 08.08.2010, 11:07:04 от ireland »
*

Loasa

  • Захожу иногда
  • 206
  • 1 / 0
Дак как в модуле вывести определенное голосование то?
*

ireland

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Дак как в модуле вывести определенное голосование то?
Id его прописать?
*

avega_van

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
ecolora, pollxt v2.00.06 установлен на j1.5.14  и не открывается в ИЕ6, ругается на 28 строку файла pollxt.js, при загрузке страницы ругается 2 раза на одну и ту же строку. Проблема остаётся даже если снять с публикации все опросы, и только отключение модуля помогает.
Может подскажешь в каком напровлении рыть?
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Вот пять мега топиков от производителя по решению проблем с загрузкой опроса:

http://www.joomlaxt.com/forum?func=view&catid=17&id=7173
http://www.joomlaxt.com/forum?func=view&catid=17&id=6196&limit=6
http://www.joomlaxt.com/forum?func=view&catid=17&id=8331&limit=6
http://www.joomlaxt.com/forum?func=view&catid=17&id=6516#6546
http://www.joomlaxt.com/forum?func=view&catid=17&id=8240#8340

С их помощью мне удалось решить все проблемы по pollxt
« Последнее редактирование: 10.08.2010, 14:52:53 от mrhuge »
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
ecolora, Может подскажешь в каком напровлении рыть?

Отказаться от использования IE6. Многие разработчики уже официально объявили о прекращении его поддержки в новых продуктах. Почему? Ну иначе развиваться не получается.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Loasa

  • Захожу иногда
  • 206
  • 1 / 0
Если в настройках указать голосования только для зарегистрированный и не зарегистрированный пользователь зайдет на сайт, то в голосование ему будет написано мол вы уже проголосовали. Как сделать, что бы было написано зарегистрируйтесь или что нибуть в этом роде?
*

Dram

  • Захожу иногда
  • 211
  • 0 / 0
Господа, а почему у меня этот модуль никак не хочет кешироваться? Все на сайте кешируется кроме него. Смотрю плагином FireBug
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Что значит кешироваться и смотрите плагином FireBug? Я полагаю, что он не кешируется, потому что выполняется посредством AJAX-запросов.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Dram

  • Захожу иногда
  • 211
  • 0 / 0
Ну все элементы сайта отдают ответ 304 нот модифед, а голосование 200 ответ и всегда загружается заново, чуть тормозя сайт
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Обновил архив до версии 2.00.07 с описанными в теме изменениями.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Elias1979

  • Осваиваюсь на форуме
  • 24
  • 15 / 0
Обновил архив до версии 2.00.07 с описанными в теме изменениями.
Спасибо за правку компонента. Файл русификации насколько я понимаю неполный? Например ADMIN_POLL_MANAGER_QUESTIONS_DESC нет и некоторых других...

И еще... Если пользователь указывает свой вариант ответа и это поле достаточно большое (и он достаточно много туда текста вписывает), то в письме с результатами голосования, приходящем на e-mail для данного вопроса абракадабра вида типа "%D1%82%D0%B5%D1%81%D1%82%20"... Перекодировать в нормальный вид можно, но все же неудобно...
« Последнее редактирование: 30.09.2010, 16:35:16 от Elias1979 »
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Файл русификации скачал с их офиц. сайта. Добавил туда только:
Код
POLLXT_SEL_POLL_RESULTS=Результаты опроса:
SEL_POLL_RESULTS=Результаты опроса:
Есть желание перевести остальное? Присылайте, заменю языковой файл в сборке.
А если поле небольшое, то абракадабра не приходит? :-)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Если Вы хотите отблагодарить меня за работу, зарегистрируйтесь по этой партнёрской ссылке:
Это биржа ссылок. Из личного опыта: доход для вёбмастера для сайта с денюжкой 10 и PR 2 - до 1000 р./мес.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Elias1979

  • Осваиваюсь на форуме
  • 24
  • 15 / 0
Файл русификации скачал с их офиц. сайта. Добавил туда только:
Код
POLLXT_SEL_POLL_RESULTS=Результаты опроса:
SEL_POLL_RESULTS=Результаты опроса:
Есть желание перевести остальное? Присылайте, заменю языковой файл в сборке.
А если поле небольшое, то абракадабра не приходит? :-)
1) Еще раз проанализировал ответы на анкеты... Предполагаю, что кодировка зависит от конкретной конфигурации компьютера/браузера... Некоторые анкеты с ответами пришли нормально (но их совсем немного).

2) Вот недостающий "хвостик" для русика (сравнил текущую версию русика и английскую из последней версии):
Код
ADMIN_GS_MISCELLANEOUS_COMPAT=Включить режим совместимости
ADMIN_GS_MISCELLANEOUS_COMPAT_HELP=Делает pollXT совместимый с некоторыми расширениями, которые используют JQuery (такие как fireboard), но может вызвать другие проблемы.
ADMIN_GS_TOOLTIPS=Включить всплывающие подсказки
ADMIN_GS_TOOLTIPS_HELP=Включить всплывающие подсказки для изображений и описаний вопросов/настроек
ADMIN_POLL_MANAGER_QUESTIONS_DESC=Описание
ADMIN_POLL_MANAGER_QUESTIONS_DESC_LONG=Описание, которое будет показано во всплывающей подсказке
ADMIN_POLL_MANAGER_QUESTIONS_LINKTEXT=Текст ссылки
ADMIN_POLL_MANAGER_QUESTIONS_LINKTEXT_LONG=Текст, который будет показан для ссылки
ADMIN_POLL_MANAGER_QUESTIONS_LINKURL=Ссылка
ADMIN_POLL_MANAGER_QUESTIONS_LINKURL_LONG=Добавление ссылки к дополнительной информации
POLLXT_SELECT_NOT_SPECIFIED=(..)
« Последнее редактирование: 04.10.2010, 10:46:39 от Elias1979 »
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
Обновил архив в начале темы.
« Последнее редактирование: 06.10.2010, 04:33:22 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

bugsmafia

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Здравствуйте.
Устанавливал PooXT из архива прикрепленного сверху топика.
Дело вот в чем. Я его поставил и через модуль вывел голосование.

и появилась проблема.
при голосовании пишет

_NOT_AUTH
POLLXT_DETAILPOLLXT_BACK

Как это поправить?
*

ecolora

  • Завсегдатай
  • 1527
  • 171 / 2
  • творец
сообщение удалено...
« Последнее редактирование: 02.03.2011, 12:03:20 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отображает link CSS style

Автор leo78

Ответов: 0
Просмотров: 951
Последний ответ 15.07.2015, 16:37:06
от leo78
Вариант пагинатора

Автор AlekVolsk

Ответов: 5
Просмотров: 1068
Последний ответ 03.02.2015, 01:00:30
от ELLE
Странности при установке компонента

Автор Александр216

Ответов: 3
Просмотров: 1193
Последний ответ 16.07.2014, 12:38:39
от Aleks.Denezh
Странности в работе sql-запроса

Автор Александр216

Ответов: 7
Просмотров: 1223
Последний ответ 27.06.2014, 22:03:19
от Aleks.Denezh
Прошу помощи с RS monials

Автор Unloved

Ответов: 0
Просмотров: 1358
Последний ответ 06.06.2014, 04:12:25
от Unloved