Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
У меня проблема  :( , поставил шаблон BT Holiday на руссифицированную Joomla 2.5, всё работает отлично и на русском кроме трёхбуквенных дат у контента  :(
даты отображаются на английском, тоесть Jan а не Янв, Aug а не Авг, вот пример отображения шаблона

Я уже не знаю куда копать, и файлы локализации русской и английской правил, и тотал коммандером все найденные Aug в файлах и скриптах менял на Авг, уже не знаю что делать,

помогите пожалуйста  :'(
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
И всё это крутится вокруг этого кода:

Код
if ($this->item->params->get('show_create_date')) {
$day_first = false;
list($day, $month, $year) = explode(' ', date('j M Y', strtotime($this->item->created)));

echo '
<table width="100%" class="blog_view">
<tr>
<td width="1%" valign="top">
<div class="blogdate">
';

if ($day_first)
echo '
<div class="day">' . $day . '</div>
<div class="month">' . JText::_($month). '</div>
';
else
echo '
<div class="month">' . JText::_($month). '</div>
<div class="day">' . $day . '</div>
';

echo '
<div class="year">' . JText::_($year). '</div>
</div>
</td>
<td>
';
}


$elements = array();

*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Почти исправил, но теперь любой месяц например "Авг" выводится как ���
Причем в .htaccess, прописано AddDefaultCharset utf-8, но всеравно ��� :(
Ну помогите кто нибудь :(

Код теперь выглядит так:
Код
<?php 
setlocale (LC_ALL, 'russian', 'ru', 'rus');
if ($this->item->params->get('show_create_date')) {
$day_first = false;
list($day, $month, $year) = explode(' ', date('j M Y', strtotime($this->item->created)));

echo '
<table width="100%" class="blog_view">
<tr>
<td width="1%" valign="top">
<div class="blogdate">
';

if ($day_first)
echo '
<div class="day">' . $day . '</div>
<div class="month">' . strftime("%b"). '</div>
';
else
echo '
<div class="month">' . strftime("%b"). '</div>
<div class="day">' . $day . '</div>
';

echo '
<div class="year">' . JText::_($year). '</div>
</div>
</td>
<td>
';
}
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Файл сохранили в UTF-8 без BOM? И лучше использовать LC_TIME вместо LC_ALL.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Файл сохранили в UTF-8 без BOM? И лучше использовать LC_TIME вместо LC_ALL.
Исправил на LC_TIME, а как нужно с BOM или без? я просто правил через дримвивер, но если надо по другому скажите я поправлю в notepad++

в шаблон сразу после die
Код: php-brief
header('Content-Type: text/html; charset=utf-8');
тоесть сделать так?:
Код
defined( '_JEXEC' ) or die( 'Restricted access' );
header('Content-Type: text/html; charset=utf-8');
require_once(dirname(__FILE__). '/template.inc.php');
global $tpl;
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
robert, попробовал и с BOM и без... бесполезно :(
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте играть с локальными параметрами, например
Код
setlocale (LC_TIME, 'ru-RU', 'ru-RU.utf8');
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Не прочитал полностью.Подумал с выводом кирилицы проблема
http://docs.joomla.org/API16:JHtml/date
Код: php-brief
$youData = new Jdate;
echo $youData->monthToString(8,true);
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Не прочитал полностью.Подумал с выводом кирилицы проблема
http://docs.joomla.org/API16:JHtml/date
Код: php-brief
$youData = new Jdate;
echo $youData->monthToString(8,true);
Спасибо больше за код, заработало :)

Подставил ваш код вот так:
Код
<?php 

if ($this->item->params->get('show_create_date')) {
$day_first = false;
list($day, $month, $year) = explode(' ', date('j M Y', strtotime($this->item->created)));
$youData = new Jdate;
echo '
<table width="100%" class="blog_view">
<tr>
<td width="1%" valign="top">
<div class="blogdate">
';

if ($day_first)
echo '
<div class="day">' . $day . '</div>
<div class="month">' . $youData->monthToString(8,true). '</div>
';
else
echo '
<div class="month">' . $youData->monthToString(8,true). '</div>
<div class="day">' . $day . '</div>
';

echo '
<div class="year">' . JText::_($year). '</div>
</div>
</td>
<td>
';
}
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
чтото не так, на всех новостях один и тот же месяц  :(
если:
Код
$youData->monthToString(8,true)
то везде Август, даже на тех что созданы в другие месяца :(
убираю 8-ку, тогда везде январь :(

помогите  :'(
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Код: php-brief
echo $youData->monthToString($month);
echo $youData->monthToString($month, true);
8 - номер месяца
а так месяц не отображается

как сделать чтобы у каждой новости на странице был месяц не общий а месяц создания?
« Последнее редактирование: 15.08.2013, 22:02:57 от barbadosko »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
var_dump($month); //что выводит
echo JHtml::date($this->item->created , '%b');  //что выводит
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
//что выводит
Код: php-brief
var_dump($month); //этот выводит string(3) "Aug"
echo JHtml::date($this->item->created , '%b');  //этот выводит %b
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
list($day, $month, $year) = explode(' ', date('j m Y', strtotime($this->item->created)));
...
$youData->monthToString((int)$month, true);
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
list($day, $month, $year) = explode(' ', date('j m Y', strtotime($this->item->created)));
...
$youData->monthToString((int)$month, true);


Код: php-brief
<?php

if ($this->item->params->get('show_create_date')) {
$day_first = false;
list($day, $month, $year) = explode(' ', date('j M Y', strtotime($this->item->created)));
$youData = new Jdate;
echo '
<table width="100%" class="blog_view">
<tr>
<td width="1%" valign="top">
<div class="blogdate">
';

if ($day_first)
echo '
<div class="day">' . $day . '</div>
<div class="month">' . $youData->monthToString((int)$month, true). '</div>
';
else
echo '
<div class="month">' . $youData->monthToString((int)$month, true). '</div>
<div class="day">' . $day . '</div>
';

echo '
<div class="year">' . JText::_($year). '</div>
</div>
</td>
<td>
';
}

поставил, но месяц не выводит пусто :(
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
list($day, $month, $year) = explode(' ', date('j m Y', strtotime($this->item->created)));//эт я написал
list($day, $month, $year) = explode(' ', date('j M Y', strtotime($this->item->created)));// а это у вас
а различия m и M, а лучше n  date('j n Y',
*

barbadosko

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
list($day, $month, $year) = explode(' ', date('j m Y', strtotime($this->item->created)));//эт я написал
list($day, $month, $year) = explode(' ', date('j M Y', strtotime($this->item->created)));// а это у вас
а различия m и M
Извините, я не заметил и воспринял после строки троеточие как будто цитату, ну точнее строку первую как цитату а после троеточия изменение :)
И заработало! Огромное Вам спасибо :) PHP у Вас в крови :)! А мы балбесы :) Еще раз спасибо! :)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
 ^-^
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать модуль на полный экран? Подробнее в в теме?

Автор 62411

Ответов: 3
Просмотров: 1800
Последний ответ 23.02.2022, 20:35:06
от marksetter
Сделать аналог

Автор pegas-k1

Ответов: 8
Просмотров: 1900
Последний ответ 02.02.2021, 13:56:21
от **vadim**
Как сделать рабочим {loadposition} или jdoc:include в com_content?

Автор Amigo9876

Ответов: 5
Просмотров: 2402
Последний ответ 31.07.2020, 16:49:37
от tigra-uki
Как подправить вывод таблички recaptcha на русском?

Автор busik

Ответов: 4
Просмотров: 1980
Последний ответ 17.02.2019, 18:58:15
от busik
Как сделать счета накладные или только заказ в пдф?

Автор master-dors

Ответов: 0
Просмотров: 1553
Последний ответ 06.04.2018, 18:33:36
от master-dors