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

brigz

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Не работают HTML теги
« : 30.06.2015, 15:34:08 »
Добрый день!
Денвер + Joomla 3.3.3 + свой шаблон.
Если в файлах локализации переменная содержит HTML теги, то при отображении страницы они не работают, например:
ADSMANAGER_WARNING_NEW_AD_NO_ACCOUNT="<b>ВНИМАНИЕ:</b><br /> Вы не авторизованы"  на странице выводится  "<b>ВНИМАНИЕ:</b></br /> Вы не авторизованы", а должно быть так:

ВНИМАНИЕ:
Вы не авторизованы

Подскажите, в чем причина, и как можно это исправить?
*

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @SeBun48
Re: Не работают HTML теги
« Ответ #1 : 30.06.2015, 17:22:03 »
В том, что эти теги прописываются в шаблоне, а не в файле локализации.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

fsv

  • Живу я здесь
  • 2765
  • 402 / 2
Re: Не работают HTML теги
« Ответ #2 : 30.06.2015, 19:15:52 »
В том, что эти теги прописываются в шаблоне, а не в файле локализации.
а посмотреть примеры?

по вопросу - хз, смотрите как выводите, не написали
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @SeBun48
Re: Не работают HTML теги
« Ответ #3 : 30.06.2015, 21:55:35 »
а посмотреть примеры?
Откройте любой файл локализации и посмотрите пример.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

fsv

  • Живу я здесь
  • 2765
  • 402 / 2
Re: Не работают HTML теги
« Ответ #4 : 30.06.2015, 22:36:41 »
Откройте любой файл локализации и посмотрите пример.
так именно это я вам и написал. вы смотрели, прежде чем ответить "а не в файле локализации"?
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Re: Не работают HTML теги
« Ответ #5 : 01.07.2015, 01:54:46 »
для двойных кавычек используется "_QQ_" или что то типа этого в роде)
поищите на форуме, там просто проблема есть с двойными кавычками
*

brigz

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Re: Не работают HTML теги
« Ответ #6 : 01.07.2015, 13:07:19 »
Спасибо всем, но проблема пока не решена, наверное не совсем понятно описал проблему. Привожу скрины
1 Файл локализации:
http://fotki.yandex.ru/next/users/a9876304/album/479908/view/1142318?page=0
2 А так отображается на странице
http://fotki.yandex.ru/next/users/a9876304/album/479908/view/1142320?page=0
« Последнее редактирование: 01.07.2015, 13:13:22 от brigz »
*

JLang

  • Захожу иногда
  • 103
  • 19 / 0
Re: Не работают HTML теги
« Ответ #7 : 06.07.2015, 03:55:14 »
...но проблема пока не решена...

Если до сих пор не решили, предлагаю "фирменное" решение через... ;D и возможно не самое верное:

В файле components/com_adsmanager/views/edit/view.html.php найдите 221 строку (примерно)
Код
if (($conf->submission_type == 2)&&($user->id == "0"))
{
$txt = JText::_('ADSMANAGER_WARNING_NEW_AD_NO_ACCOUNT');
$this->assignRef('warning_text',$txt);
}
И измените на
Код
if (($conf->submission_type == 2)&&($user->id == "0"))
{
JError::raiseNotice( null, JText::_('ADSMANAGER_WARNING_NEW_AD_NO_ACCOUNT'));
}
Затем в языковом файле  добавляйте и удаляйте любые теги. yes!
Стиль в Protostar остаётся прежний, другие шаблоны - не знаю, но скорее всего тоже.

Если вывод сообщений шаблона не указан или задан в другом месте, тогда:
Код
if (($conf->submission_type == 2)&&($user->id == "0"))
{
JFactory::getApplication()->enqueueMessage(JText::_('ADSMANAGER_WARNING_NEW_AD_NO_ACCOUNT'), 'warning');
}
« Последнее редактирование: 06.07.2015, 05:01:21 от JLang »
*

brigz

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Re: Не работают HTML теги
« Ответ #8 : 06.07.2015, 16:54:42 »
Огромное спасибо JLang, все заработало!
Заметил, что  в AdsManager 3.1.0 еще есть ошибки в коде.
Например, в файле components/com_adsmanager/controller.php при написании путей слеш прописан как DS (Joomla 2.5), хотя должно быть DIRECTORY_SEPARATOR. Эту исправил добавлением в файл
Код
defined('DS') or define('DS',DIRECTORY_SEPARATOR);

Заметил еще две ошибки.
1. Страница Добавить объявление. Если посмотреть на код в браузере, поле <select> "Выберите категорию" выглядет довольно странно:
Код
<select id="category" class="" name="category" required class=input-large text-center >
<option value="">- Выберите категорию -</option>
<option   value="3">Недвижимость &gt; Куплю квартиру</option>
<option   value="4">Недвижимость &gt; Куплю дом</option>
<option   value="5">Недвижимость &gt; Куплю гараж</option>
насколько я понимаю required там быть не должно, и в опциях знак > выводится как &gt;.

2. Страница Поиска объявлений (реализована через mod_adsmanager_search). Если посмотреть на код в браузере
Код
</script>
</div> </div>
</p> </div>


</div>
после js выводится лишний закрывающий тег </p>.

Подскажите, как исправить эти ошибки, или хотя бы в каких файлах "копать"?
*

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @SeBun48
Re: Не работают HTML теги
« Ответ #9 : 06.07.2015, 17:29:25 »
Заметил, что  в AdsManager 3.1.0 еще есть ошибки в коде.
Например, в файле components/com_adsmanager/controller.php при написании путей слеш прописан как DS (Joomla 2.5), хотя должно быть DIRECTORY_SEPARATOR.
DS - это константа Joomla, содержащая правильный слеш.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

brigz

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Re: Не работают HTML теги
« Ответ #10 : 07.07.2015, 16:29:56 »
DS - это константа Joomla, содержащая правильный слеш.

На сколько я знаю, константа DS используется в Joomla 2.5, а в Joomla 3 вместо нее используется DIRECTORY_SEPARATOR.

И все же, по сути вопроса, может кто помочь?
*

brigz

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Re: Не работают HTML теги
« Ответ #11 : 08.07.2015, 16:19:45 »
На счет второй ошибки - приношу извинения, накосячил сам.

Подскажите  как быть с первой ошибкой.
Как я понимаю поле <select> "Выберите категорию" на странице "Добавить объявление" выводится из файла components/com_adsmanager/views/edit/tmpl/deault.php? примерно строка  114 и далее
Код
case 'normal':
                                JHTMLAdsmanagerCategory::displayNormalCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
Если посмотреть код в браузере
Код
<select id="category" class="" name="category" required class=input-large text-center >
то поле выглядит коряво: class выведен дважды, в первом случае пустым, а во втором имя класса хоть и присутствует - но без кавычек, плюс ко всему бессмысленное required. Я не очень силен в РНР и никак не могу привести все в должный порядок.
Подскажите, как исправить?
*

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @SeBun48
Re: Не работают HTML теги
« Ответ #12 : 08.07.2015, 16:27:52 »
Выложите кусок кода, что там до этой строки.

Как вариант:
Код
<select id="category" name="category" class="input-large text-center" >
« Последнее редактирование: 08.07.2015, 16:32:01 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Не работают HTML теги
« Ответ #13 : 08.07.2015, 17:22:37 »
...
плюс ко всему бессмысленное required
...
Атрибут required указывает на то, что поле обязательно к заполнению — какая-то из опций в списке должна быть обязательно выбрана.
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @SeBun48
Re: Не работают HTML теги
« Ответ #14 : 09.07.2015, 09:32:52 »
Атрибут required указывает на то...
Ну, если ТС считает атрибут бессмысленным, то он и не нужен ))
Спойлер
[свернуть]
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

brigz

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Re: Не работают HTML теги
« Ответ #15 : 09.07.2015, 10:57:56 »
Если вдруг решите, что нужен, то строка, которую я привел выше, будет выглядеть так:
Код:


Код
<select required id="category" name="category" class="input-large text-center" >

Решил, должно выглядеть именно так, как написали Вы...)), т. е. сервер должен прислать в браузер тег <select> именно в таком виде. Но сервер присылает его вот так
Код
<select id="category" class="" name="category" required class=input-large text-center >
в одном теге дважды прописан класс, при чем во втором случае имя класса даже без кавычек.
Как я понимаю, на сервере код данного поля формируется в файле <b>components/com_adsmanager/views/edit/tmpl/deault.php</b>
Код:
Код
<div class="controls">
<?php
switch($this->conf->single_category_selection_type) {
default:
                        case 'normal':
                                JHTMLAdsmanagerCategory::displayNormalCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
                        case 'color':
                                JHTMLAdsmanagerCategory::displayColorCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
                        case 'combobox':
                                JHTMLAdsmanagerCategory::displayComboboxCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
                            break;
                        case 'cascade':
                                JHTMLAdsmanagerCategory::displaySplitCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
}
?>
</div>
как я понимаю загвоздка именно в array("required"=>"","class"=>"input-large text-center"), но как должно быть - ума не приложу.
*

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @SeBun48
Re: Не работают HTML теги
« Ответ #16 : 09.07.2015, 11:03:29 »
Перед ?> поставьте var_dump (строка); где строка - одна из строк

Например:
Код
var_dump(JHTMLAdsmanagerCategory::displaySplitCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center")));

Это покажет вам, что выводят эти строки.
« Последнее редактирование: 09.07.2015, 11:08:44 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

brigz

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Re: Не работают HTML теги
« Ответ #17 : 09.07.2015, 16:20:46 »
Кажется решил задачу.
В файле components/com_adsmanager/views/edit/tmpl/deault.php часть кода
Код
<div class="controls">
<?php
switch($this->conf->single_category_selection_type) {
default:
                        case 'normal':
                                JHTMLAdsmanagerCategory::displayNormalCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
                        case 'color':
                                JHTMLAdsmanagerCategory::displayColorCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
                        case 'combobox':
                                JHTMLAdsmanagerCategory::displayComboboxCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
                            break;
                        case 'cascade':
                                JHTMLAdsmanagerCategory::displaySplitCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true),array("required"=>"","class"=>"input-large text-center"));break;
}
?>
</div>
заменил на
Код
<div class="controls">
                <?php
                    switch($this->conf->single_category_selection_type) {
                        default:
                        case 'normal':
                                JHTMLAdsmanagerCategory::displayNormalCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true,"class"=>"input-large text-center"),array("required"=>""));break;
                        case 'color':
                                JHTMLAdsmanagerCategory::displayColorCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true,"class"=>"input-large text-center"),array("required"=>""));break;
                        case 'combobox':
                                JHTMLAdsmanagerCategory::displayComboboxCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true,"class"=>"input-large text-center"),array("required"=>""));break;
                        case 'cascade':
                                JHTMLAdsmanagerCategory::displaySplitCategories($selectid ,$this->cats,$this->catid,array("root_allowed"=>$this->conf->root_allowed,"display_price"=>true,"class"=>"input-large text-center"),array("required"=>""));break;
                    }
                ?>
                </div>
Открываем в браузере (у меня Мозилла) страницу "Добавить объявление" (Write Ad), Инструменты->Веб-разработка ->Исходный код страницы и смотрим код
Код
<div class="controls">
                 <select id="category" class="input-large text-center" name="category" required >
т. е. тег <select> отображается корректно.
« Последнее редактирование: 09.07.2015, 16:28:10 от brigz »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Зависимые поля не работают

Автор motordrom

Ответов: 3
Просмотров: 1080
Последний ответ 18.08.2017, 17:50:43
от Pavel
Мета-теги на главной странице AdsManager

Автор sheldom

Ответов: 9
Просмотров: 2426
Последний ответ 15.07.2014, 16:38:39
от zvi
Импользование HTML в описаниях полей

Автор IzrA

Ответов: 0
Просмотров: 895
Последний ответ 30.06.2014, 10:58:30
от IzrA
Очищается HTML код при сохранении

Автор Руст

Ответов: 8
Просмотров: 1182
Последний ответ 29.01.2014, 15:27:06
от Руст
AdsManager 296 релиз не работают категории на Кирилице

Автор grom_chat

Ответов: 4
Просмотров: 1085
Последний ответ 29.12.2013, 01:16:12
от stendapuss