Форум русской поддержки Joomla!® CMS
08.12.2016, 04:09:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вывод языковой константы в плагине Extra Vote

 (Прочитано 217 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Good_user
Осваиваюсь на форуме
***

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

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


Ukraine, Kyiv


« : 02.12.2015, 11:47:13 »

В плагине Extra Vote (перед звездами) нужно вывести текстовый призыв к действию, т.е. голосованию. Что-то типа "Пожалуйста, оцените статью!"

Кое-как удалось определить, что рейтинг выводится этим куском кода из extravote.php:

Код:
$html = "
<".$container." class=\"".$class."\">
  <span class=\"extravote-stars\"".($add_snippets?" itemprop=\"aggregateRating\" itemscope itemtype=\"http://schema.org/AggregateRating\"":"").">".($add_snippets?"
  <meta itemprop=\"ratingCount\" content=\"".$rating_count."\" />
":"
")."<span id=\"rating_".$id."_".$xid."\" class=\"current-rating\"".((!$initial_hide||$currip==$ip)?" style=\"width:".round($rating*20)."%;\"":"")."".($add_snippets?" itemprop=\"ratingValue\"":"").">".($add_snippets?$rating:"")."</span>"
.$spans."
  </span>
  <span class=\"extravote-info".(($initial_hide&&$currip!=$ip)?" ihide\"":"")."\" id=\"extravote_".$id."_".$xid."\">";
 
  if ( $show_rating > 0 ) {
if ( $rating_mode == 0 ) {
$rating = round($rating*20). '%';
} else {
$rating = number_format($rating,2);
}
$html .= JTEXT::sprintf('PLG_CONTENT_EXTRAVOTE_LABEL_RATING', $rating);
}

  if ( $show_counter > 0 ) {
if($rating_count!=1) {
$html .= JTEXT::sprintf('PLG_CONTENT_EXTRAVOTE_LABEL_VOTES', $rating_count);
} else {
$html .= JTEXT::sprintf('PLG_CONTENT_EXTRAVOTE_LABEL_VOTE', $rating_count);
}
}

  $html .="</span>";
  $html .="
</".$container.">";

Если просто вписать текст сразу после <".$container." class=\"".$class."\">, все выводится и отображается в одной строке как надо.  Но вот загвоздочка в том, что этот текст мне нужно выводить языковой константой, т.к. сайт будет мультиязычный.

В языковом файле ru-RU.plg_content_extravote.ini создал новую константу PLG_CONTENT_EXTRAVOTE_OTSENI_PJL="Пожалуйста, оцените статью!", но вот как ее грамотно внедрить в этот PHP код непонятной конструкции ума не приложу.

Пробовал делать по примеру, т.е. так как в самом плагине константы выводятся, что-то типа $html .= JTEXT::sprintf('PLG_CONTENT_EXTRAVOTE_OTSENI_PJL'); и через echo...как только не пробовал, но не получилось. То ошибки синтаксические, то просто ничего не выводится. Целый день вчера тыкался.

Уважаемые форумчане, знающие PHP, искренне прошу Вашей помощи  Smiley Заранее благодарю!
Записан
midav
Живу я здесь
******

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

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



« Ответ #1 : 02.12.2015, 23:34:14 »

Код:
JText::_(константа)
Записан
Good_user
Осваиваюсь на форуме
***

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

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


Ukraine, Kyiv


« Ответ #2 : 03.12.2015, 00:44:15 »

Код:
JText::_(константа)
Благодарю, но так не работает...

Решение уже нашел не без помощи добрых людей:

Первая строка в том куске кода, что я привел:

$html = "

заменить ее на

$html .= "

И перед ней поставить:

$html = JText::_('Константа');

Надеюсь кому-то пригодится :-)
Записан
robert
Профи
********

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

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


« Ответ #3 : 03.12.2015, 01:19:59 »

Благодарю, но так не работает...
Тупо копипастом - конечно, нет. А "добрые люди", судя по их совету, тоже ненамного лучше вас.
Товарищ, какая цель Вашего сообщения?
Цель - призывать вас к самообучению. А совет по теме уже дали, мне добавить нечего.
« Последнее редактирование: 03.12.2015, 12:50:12 от robert » Записан
Good_user
Осваиваюсь на форуме
***

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

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


Ukraine, Kyiv


« Ответ #4 : 03.12.2015, 11:07:19 »

Тупо копипастом - конечно, нет. А "добрые люди", судя по их совету, тоже ненамного лучше вас.
Товарищ, какая цель Вашего сообщения? Разве это форум нравоучений? Не хотите, не помогайте! А знаете лучшее решение, напишите. Зачем это пустословство? А вот унижение доброго человека, который просто помог советом без болтовни, не делает из Вас пример для подражания.

Относительно копипаста...Не все знают PHP и для некоторых JText::_(константа) еще ничего не говорит, т.к. прежде всего нужно знать как правильно внедрять константу в код, ведь в каждом плагине/модуле это может по-разному работать. И если бы Вы внимательно читали первый пос, то увидели бы что я уже пробовал различные вариации с JText до того как создать тему, и это у меня не сработало.

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

Powered by SMF 1.1.21 | 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