Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать 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 Гость просматривают эту тему.
  • 23 Ответов
  • 1324 Просмотров
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Первести text в integer
« : 03.02.2016, 10:43:50 »
Здравствуйте,

Забрал значение из поля в профиле. Оно типа "text".
Получил, например, "55". Так и идет с ковычками.
Как мне перевести в integer, чтобы не было ковычек?

"55" -> 55 ?

Вот так не сработало. Приводит либо к нулю либо к вообще ничему)

Код: php
$aaa= (int)$aaa;
$aaa= intval($aaa, 'integer');
settype($aaa, "integer");
Мой сайт про корабли
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Первести text в integer
« Ответ #1 : 03.02.2016, 10:58:35 »
Код: php
$x = "55";
$x = (int) $x;

Должно сработать и выдать 55. Очень странно, что у Вас не работает.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Первести text в integer
« Ответ #2 : 03.02.2016, 11:02:58 »
допускаю наличие лишних символов (неразрывный пробел) и некорректного десятичного разделителя разделителя, иначе должно работать
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #3 : 03.02.2016, 11:08:19 »
Не сработало. Сделал скрин с пояснениями.
Мой сайт про корабли
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Re: Первести text в integer
« Ответ #4 : 03.02.2016, 11:09:07 »
А на выходе точно строка ? var_dump может ?

Код: php
$x = "55";
$x = (int) $x;

Должно сработать и выдать 55. Очень странно, что у Вас не работает.
Подтверждаю, работает, сам делаю так же !
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Первести text в integer
« Ответ #5 : 03.02.2016, 11:17:56 »
Не должно работать.

Попробуйте так:
Код: php
$user_balance=$db->loadResult();
$user_balance=substr($user_balance, 1);
$user_balance=mb_substr($user_balance, 0, -1);
$user_balance = (int) $user_balance;
echo $user_balance;

Использовал разные функции и писал по памяти, так что открывайте справочник и попытайтесь понять, что я сделал. Вы писали, что у вас число получается из базы вместе с кавычками. Их нужно сначала удалить, а потом переводить текст в числовой тип.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Первести text в integer
« Ответ #6 : 03.02.2016, 11:18:40 »
запрос интересный, но такая конструкция будет работать не везде, попробуйте более классический вариант:
Код: php
$query->where('`user_id` = '.(int)$u_id);
$query->where('`profile_key` = "profile.postal_code"');
...
$user_balance = (int)$db->loadResult();

во всяком случае, не помешает проверить, что выдает запрос на выходе, перед преобразованием
« Последнее редактирование: 03.02.2016, 11:23:52 от AlekVolsk »
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #7 : 03.02.2016, 11:21:50 »
А на выходе точно строка ? var_dump может ?
Вот что вывел var_dump
int(0)
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #8 : 03.02.2016, 11:23:35 »
запрос интересный, но такая конструкция будет работать не везде, попробуйте более классический вариант:
Код: php
$query->where('`user_id` = '.(int)$u_id);
$query->where('`profile_key` = "profile.postal_code"');
$user_balance = (int)$db->loadResult();

сделал. var_dump попрежнему int(0)

во всяком случае, не помешает проверить, что выдает запрос на выходе, перед преобразованием
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #9 : 03.02.2016, 11:24:15 »
Не должно работать.

Попробуйте так:
Код: php
$user_balance=$db->loadResult();
$user_balance=substr($user_balance, 1);
$user_balance=mb_substr($user_balance, 0, -1);
$user_balance = (int) $user_balance;
echo $user_balance;

Использовал разные функции и писал по памяти, так что открывайте справочник и попытайтесь понять, что я сделал. Вы писали, что у вас число получается из базы вместе с кавычками. Их нужно сначала удалить, а потом переводить текст в числовой тип.

ну это уже костыль какой-то)) я так тоже думал на крайний случай
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #10 : 03.02.2016, 11:25:22 »
во всяком случае, не помешает проверить, что выдает запрос на выходе, перед преобразованием

сразу после запроса без преобразований
string(4) ""55""
Мой сайт про корабли
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Первести text в integer
« Ответ #11 : 03.02.2016, 11:29:04 »
откуда кавычки?
вырежте регуляркой все нецифровые символы

а вообще - весь этот код - г-код, ибо там имеется соответствующее апи для получения этих данных
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #12 : 03.02.2016, 11:31:10 »
поле индекс плагина - профиль
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #13 : 03.02.2016, 11:32:19 »
таблица полей профиля
Мой сайт про корабли
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Первести text в integer
« Ответ #14 : 03.02.2016, 11:33:41 »
Код: php
$user_balance = (int)preg_replace('/[^0-9]/', '', $db->loadResult());
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #15 : 03.02.2016, 11:35:07 »
Код: php
$user_balance = (int)preg_replace('/[^0-9]/', '', $db->loadResult());
работает)) эта регулярка вырезает все кроме цифр?
Мой сайт про корабли
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Первести text в integer
« Ответ #16 : 03.02.2016, 11:36:01 »
Код
$var = preg_replace('/[^\d+]/s', '', $var);
но лучше выяснить откуда там кавычки взялись
опередили)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Первести text в integer
« Ответ #17 : 03.02.2016, 11:36:15 »
работает)) эта регулярка вырезает все кроме цифр?
да, если после 9 добавите точку - получите десятичные суммы, если таковые имеются
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #18 : 03.02.2016, 11:36:34 »
а вообще - весь этот код - г-код, ибо там имеется соответствующее апи для получения этих данных

да я не разбираюсь что откуда. "модель вид представление" для меня сложновато
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #19 : 03.02.2016, 11:37:09 »
Код
$var = preg_replace('/[^\d+]/s', '', $var);
но лучше выяснить откуда там кавычки взялись
опередили)
не ну если так плагин написан)
Мой сайт про корабли
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Первести text в integer
« Ответ #20 : 03.02.2016, 11:39:02 »
Код
$var = preg_replace('/[^\d+]/s', '', $var);
\d+ также выдаст отрицательное число, т.е. будет знак минус, если он есть в строке, и не возьмет число полностью, если используется некорректный разделитель тысяч
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #21 : 03.02.2016, 11:41:20 »
спасибо всем за помощь.
Мой сайт про корабли
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Первести text в integer
« Ответ #23 : 03.02.2016, 11:57:50 »
json_decode($var) сделайте - там текст хранится в JSON.
действительно. спасибо. так будет правильней наверняка
Мой сайт про корабли
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться