Php echo jtext sprintf

Создание красивой даты публикации статьи в Joomla

Если не нравится как оформлена дата публикации в статье joomla и не хочется из-за этого менять весь шаблон, то ее оформление можно отредактировать.

Находим шаблон оформления статьи, который находится здесь
/templates/имя_шаблона /html /com_content/featured/default_item.php
В файле default_item.php находим строки, которые выводят дату публикации

get('show_create_date')) : ?> item->created, JText::_('DATE_FORMAT_LC3'))); ?> 

Этот кусок кода можно закомментировать или удалить и вставить такой код

get(‘show_create_date’) | 1) :?>

item->created, «d»); ?>
item->created, «M»); ?> item->created, «Y»); ?>

В таком формате день, месяц и год выводятся отдельно в каждую срочку и поэтому более удобны для оформления.

Остается добавить стиль оформления в один из css прикрепленных к шаблону, например такой:

dd.create < width: 81px; position:relative; float:left; >.dateContainer < width:61px; background:#ac8; border-radius:5px 5px 0 0; >.mYcontainer < padding:0 0 3px 0; background: #fff; width:61px; opacity:0.7; >.d, .m, .y < width:61px; display:block; text-align:center; color: black; font-weight:bold; font-size: 12px; >.d

Если оформление даты нужно поменять в анонсах статей блога, то нужно таким же образом отредактировать шаблон блога, который находится здесь /public_html/templates/имя_шаблона/html/com_content/category/blog_item.php

Источник

Отформатированные поля в переводимых языковых строчках

Иногда в переводимую строчку необходимо включить отформатированные по-особенному поля. Это обычно происходит когда в работу включаются номера, но может случиться и с датами и временем, когда требуются точные инструкции по форматированию. Если конкретные строчки не будут переводиться, то могут быть использованы стандартные функции РНР «printf» и » sprintf». Функция «printf» выдает строчку отформатированную с использованием вставляемых инструкций по форматированию; функция «sprintf» возвращает строчку, отформатированную с использованием тех же самых инструкций по форматированию.

Метод JText предоставляет методы wrapper для функций «printf» и «sprintf», позволяя перевод статичных текстов, а также позволяя в то же самое время вставку отформатированных с использованием одного и того же с функциями РНР синтаксиса полей.

Например, допустим что у Вас имеется строка «Donations of 12.45 GBP have been received”, где сумма поступает от некоторой переменной, допустим «$donations». Вы могли бы разделить эту строчку на две [части] следующим образом:

JText::_( 'Donations of' ) . “ $donations GBP “ . JText::_( 'have been received' )

со строчками языкового определения

DONATIONS OF=Donations of HAVE BEEN RECEIVED=have been received

но это не очень хорошо работает с языками, где эти вставляемые данные находятся не на том же само месте, что и переведенная строка. Вместо этого, используйте метод «sprtinf», следующим образом

JText::sprintf( 'Donations have been received', $donations )

со строкой языкового перевода

DONATIONS HAVE BEEN RECEIVED=Donations of %.2f GBP have been received

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

JText::sprintf( 'String with numbers in it', $num1, $num2, $num3 )

со строкой языкового определения

STRING WITH NUMBERS IN IT=First %d, second %d, third %d

Синтаксис спецификаторов форматирования

Спецификатор форматирования состоит из знака процента («%»), за которым идут один или более этих элементов, в порядке:

Подмена формата аргумента

Формат строчек поддерживается нумерацию аргументов и даже [их] подмену. Это пригодно где в какую-либо строку необходимо вставить два или более объекта данных но различия в языковой структуре означают, что порядок использования этих объектов данных не будет тем же самым.

Например, допустим, что у нас есть следующий код:

echo JText::sprintf( 'Balls in the bucket', $number, $location );

где языковая строка перевода

BALLS IN THE BUCKET=There are %d balls in the %s

выводом будет “There are 3 balls in the hat”. Но представьте себе, что Вы захотели изменить этот перевод на

BALLS IN THE BUCKET=The %s contains %d balls

То это выдаст “The 3 contains hat balls”, что явно является абсурдом. Вместо изменения этого кода, Вы можете указать этой языковой строчке на какой аргумент ссылается каждый заполнитель. Измените этот перевод на

BALLS IN THE BUCKET=The %2$s contains %1$d balls

и этот вывод становится “The hat contains 3 balls”, как и ожидалось.

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

BALLS IN THE BUCKET=The %2$s contains %1$d balls, so there are %1$d balls in the %2$s

и получите правильный вывод “The hat contains 3 balls, so there are 3 balls in the hat”.

Источник

sprintf

Возвращает строку, созданную с использованием строки формата format .

Строка формата состоит из директив: обычных символов (за исключением % ), которые копируются в результирующую строку, и описатели преобразований, каждый из которых заменяется на один из параметров. Это относится также к printf().

Каждый описатель прреобразований состоит из знака процента ( % ), за которым следует один или более дополнительных элементов (в том порядке, в котором они здесь перечислены):

    Необязательный описатель заполнения, который определяет, какой символ будет использоваться для дополнения результата до необходимой длины. Это может быть пробел или 0 . По умолчанию используется пробел. Альтернативный символ может быть указан с помощью ‘ . См. примеры ниже.

Пример 1. Изменение порядка параметров

Этот код выведет «There are 5 monkeys in the tree». Теперь представьте, что строка формата содержится в отдельном файле, который потом будет переведен на другой язык, и мы переписываем ее в таком виде:

Пример 2. Изменение порядка параметров

Появляется проблема: порядок описателей преобразования не соответствует порядку аргументов. Мы не хотим менять код, и нам нужно указать, какому аргументу соответствует тот или иной описатель преобразования.

Пример 3. Изменение порядка параметров

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

Пример 4. Изменение порядка параметров

Примеры

Пример 5. sprintf(): заполнение нулями

Пример 6. sprintf(): форматирование денежных величин

Пример 7. sprintf(): научная нотация

  • Множественное число имен существительных в Joomla 3
  • JUser: работа с объектом пользователя
  • Работа с изображениями в Joomla (JImage)
  • Usergrouplist (usergroup) модальное окно выбора группы пользователей xml
  • Поля формы и файлы конфигураций, XML параметры расширений.
  • JForm – фильтры полей в формах Joomla
  • User модальное окно выбора пользователей
  • Imagelist выпадающий список изображений xml
  • Работа с файлами в Joomla (Класс JFile)
  • Работа с сессиями в Joomla (JSession)
  • Как работать с сессиями в Joomla.
  • Работа с папками, класс JFolder
  • Создание своего типа поля
  • 1. Лекция: Архитектура Joomla. Базовые сведения
  • JResponseJson – возвращаем данные в формате JSON
  • JMail — Отправка почтовых сообщений
  • JPagination — постраничная навигация в компоненте
  • Описание класса Joomla JFactory
  • Обработка пользовательского ввода в Joomla, начиная с 2.5 (JInput)
  • Email — поле электронной почты.

Источник

JText

Like JText::sprintf but tries to pluralise the string.

plural(string $string, integer $n) : string

Note that this method can take a mixed number of arguments as for the sprintf function.

The last argument can take an array of options:

array(‘jsSafe’=>boolean, ‘interpretBackSlashes’=>boolean, ‘script’=>boolean)

jsSafe is a boolean to generate a javascript safe strings. interpretBackSlashes is a boolean to interpret backslashes \->\, \n->new line, \t->tabulation. script is a boolean to indicate that the string will be push in the javascript language store.

will generate an alert message containing ‘1 plugin successfully disabled’ it will generate a ‘1 plugin successfully disabled’ string

Arguments

integer The number of items

Response

string The translated strings or the key if ‘script’ is true in the array of options

printf

Passes a string thru an printf.

printf(\format $string) : mixed

Note that this method can take a mixed number of arguments as for the sprintf function.

Arguments

Response

script

Translate a string into the current language and stores it in the JavaScript language store.

script(string $string = null, boolean $jsSafe = false, boolean $interpretBackSlashes = true) : string

Arguments

boolean Ensure the output is JavaScript safe.

boolean Interpret \t and \n.

Response

sprintf

Passes a string thru a sprintf.

sprintf(string $string) : string

Note that this method can take a mixed number of arguments as for the sprintf function.

The last argument can take an array of options:

array(‘jsSafe’=>boolean, ‘interpretBackSlashes’=>boolean, ‘script’=>boolean)

jsSafe is a boolean to generate a javascript safe strings. interpretBackSlashes is a boolean to interpret backslashes \->\, \n->new line, \t->tabulation. script is a boolean to indicate that the string will be push in the javascript language store.

Arguments

Response

string The translated strings or the key if ‘script’ is true in the array of options.

Источник

Читайте также:  Gradle custom task kotlin
Оцените статью