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

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Доброго времени суток
Столкнулся с проблемой " если включен плагин "Профиль пользователя" он в базу вносит данные в ковычках
а потом мненадо вывести их и они опять же выводятся в ковычках
подскажите может кто знает где вставляются эти ковычки в плагине Профиль пользователя
я так подозреваю что гдето в файле /plugins/user/profile/profile.php
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Вывод полей из Профиль пользователя ?

да оно только там его всё же немного по другому сделали
написали свои запросы в базу и там определённая сортировка
ну вот проблема в том что в базу данные вносятся в "" кавычках, а потом когда делается вывод они так же и выводятся
+ ещё есть проблема там есть поле отвечающее за регион страны по нему сортеруют и если его брать из базы в ковычках то не получается отсортировать правильно
По этому решили что лучше там где данные добавляются в базу не вносились в "" кавычках,
вот и вопрос где добавляются "" ?
Спасибо
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Немного не поняли. Я же привел пример как убрать кавычки.
echo str_replace('"', '',$user->profile_value);
в переменной  $user->profile_value я убрал кавычки.
Или тогда показывайте свою часть кода. Что имеете и что нужно получить на выходе
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Немного не поняли. Я же привел пример как убрать кавычки.
echo str_replace('"', '',$user->profile_value);
в переменной  $user->profile_value я убрал кавычки.
Или тогда показывайте свою часть кода. Что имеете и что нужно получить на выходе

Изначально я делал по вашему примеру но потом понадобилось отсортировать по статусу, для этого попросили помощи у другова программиста и вот что он сделал
Код
<?php 

    header("Content-Type: text/html; charset=utf-8");

    include  $_SERVER['DOCUMENT_ROOT'] ."/components/com_irb_selects/connect.php" ;
// Функция сортировки массива
function array_msort($array, $cols) {
    $colarr = array();
    foreach ($cols as $col => $order) {
        $colarr[$col] = array();
        foreach ($array as $k => $row) { $colarr[$col]['_'.$k] = strtolower($row[$col]); }
    }
    $eval = 'array_multisort(';
    foreach ($cols as $col => $order) {
        $eval .= '$colarr[\''.$col.'\'],'.$order.',';
    }
    $eval = substr($eval,0,-1).');';
    eval($eval);
    $ret = array();
    foreach ($colarr as $col => $arr) {
        foreach ($arr as $k => $v) {
            $k = substr($k,1);
            if (!isset($ret[$k])) $ret[$k] = $array[$k];
            $ret[$k][$col] = $array[$k][$col];
        }
    }
    return $ret;
}

// Функция вывода компаний
function region($country_id) {
    // Берем список Айдишников Клиентов, подходящих условию региона, лимит я убрал (а вдруг их больше 30?)
$res = mysql_query("SELECT * FROM `joss_user_profiles`
WHERE `profile_value` = ".$country_id, IRB_CONNECT );
// Пока есть Айдишники Клиентов, выполняем цикл
$counter = 0;
while($row = mysql_fetch_assoc($res)) {

// Определим название Клиента (Лимит тут не нужен, а если и нужен то не на 30 позиций а на одну)
$sqlcompany = mysql_query("SELECT `profile_value` FROM `joss_user_profiles` WHERE `user_id` = ".$row['user_id']." AND `profile_key` = 'profile.company'", IRB_CONNECT );
// Пока есть имя - Кладем его в массив
while($rowcompany = mysql_fetch_assoc($sqlcompany)) {
// Декодируем
$name22=json_decode('"'.$rowcompany['profile_value'].'"');
$name11 = ($name22 ? $name22 : ($rowcompany['profile_value']) );
$clients[$counter]['name'] = $name11;
}

// Определим адрес Клиента (по лимиту то же самое что и выше)
$sqladres = mysql_query("SELECT `profile_value` FROM `joss_user_profiles` WHERE `user_id` = ".$row['user_id']." AND `profile_key` = 'profile.address1'", IRB_CONNECT );
// Пока есть адрес - Кладем его в массив
while($rowadres = mysql_fetch_assoc($sqladres)) {
// Декодируем
$adres22=json_decode('"'.$rowadres['profile_value'].'"');
$adres11 = ($adres22 ? $adres22 : ($rowadres['profile_value']) );
$clients[$counter]['adres'] = $adres11;
}

// Определим телефон Клиента (лимит)
$sqlphone = mysql_query("SELECT `profile_value` FROM `joss_user_profiles` WHERE `user_id` = ".$row['user_id']." AND `profile_key` = 'profile.phone'", IRB_CONNECT );
// Пока есть телефон - Кладем его в массив
while($rowphone = mysql_fetch_assoc($sqlphone)) {
$clients[$counter]['phone'] = $rowphone['profile_value'];
}

// Определим почту Клиента (лимит)
$sqlemail = mysql_query("SELECT `email` FROM `joss_users`
WHERE `id` = ".$row['user_id'], IRB_CONNECT );
// Пока есть почта - Кладем ее в массив
while($row2 = mysql_fetch_assoc($sqlemail)) {
$clients[$counter]['email'] = $row2['email'];
}

// Определим сайт Клиента (лимит)
$sqlwebsite= mysql_query("SELECT `profile_value` FROM `joss_user_profiles` WHERE `user_id` = ".$row['user_id']." AND `profile_key` = 'profile.website'", IRB_CONNECT );
// Пока есть сайт - Кладем ее в массив
while($rowwebsite = mysql_fetch_assoc($sqlwebsite)) {
$clients[$counter]['site'] = $rowwebsite['profile_value'];
}

// Определим статус Клиента
$sqlstatus= mysql_query("SELECT `profile_value` FROM `joss_user_profiles` WHERE `user_id` = ".$row['user_id']." AND `profile_key` = 'profile.status'", IRB_CONNECT );
// Пока есть сайт - Кладем ее в массив
while($rowstatus = mysql_fetch_assoc($sqlstatus)) {
$clients[$counter]['status'] = $rowstatus['profile_value'];
}
$counter++;
} // Закончили цикл
// Сортируем массив
$new_clients = array_msort($clients, array('status'=>SORT_ASC, 'name'=>SORT_ASC));
// Формируем вывод данных
$select .= "<div class='clients-list'>";
foreach ($new_clients as $item) {
if($item['status']==1) {
$status_class = "gold";
} elseif ($item['status']==2) {
$status_class = "silver";
} else {
$status_class = "";
}
$select .= "<div class='clients-item ".$status_class."'>";
if($item['name']) {
$select .= "<p><strong style=\"line-height: 25px;\">".$item['name']."</strong></p>";
}
if($item['adres']) {
$select .= "<p>Адрес: ".$item['adres']."</p>";
}
if($item['phone']) {
$select .= "<p>Телефон: ".$item['phone']."</p>";
}
if($item['email']) {
$select .= "<p>E-mail: ".$item['email']."</p>";
}
if($item['site'] !='' AND $item['site'] != 'NULL') {
$select .= "<p>Сайт: ".$item['site']."</p>";
}
$select .= "</div>";
// Плюс добаить картинку статуса в зависомотси от значения $item['status']...
}
$select .= "</div>";
    return  $select;

}
if(!empty($_POST['country_id']))
echo region($_POST['country_id']);
if(!empty($_POST['region_id']))
echo city1($_POST['region_id']);
?>


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

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Что такое статус?

http://www.agentplus.com.ua/partners#tabs1
вот сайт на котором это всё делается, там выпадающий список
если например выбрать Одесскую область то покажутся все пользователи этой области и там у одного есть статус Золотой
у этих пользователей я просто в базе по удалял "" кавычки и по этому они нормально выводятся НО теперь когда добавляешь новых они добавляются в "" кавычках
Варианта 2
1) что бы в базу поля добавлялись без "" кавычек или
2) переписывать запрос что бы он понимал что данные в "" кавычках - запрос по выводу приведён выше туда мы передаём ИД региона и он выбирает всех пользователей из этого региона
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
echo str_replace('"', '',$user->profile_value);
в переменной  $user->profile_value я убрал кавычки.

я так понял эта вещь убирает кавычки в нутри переменной,
но а если там название фирмы  "ООО "Тест"" - и мне надо что бы выводилось только ООО "тест"  ? он же и эти кавычки уберёт я так понимаю
*

Fedor Vlasenko

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

Magl

  • Захожу иногда
  • 85
  • 3 / 0
Код: php-brief
echo trim($text, '"');
Так и не объяснил куда и как дополнительное поле статус вставил

Код
	$new_clients = array_msort($clients, array('status'=>SORT_ASC, 'name'=>SORT_ASC));
// Формируем вывод данных
$select .= "<div class='clients-list'>";
foreach ($new_clients as $item) {
if($item['status']==1) {
$status_class = "gold";
} elseif ($item['status']==2) {
$status_class = "silver";
} else {
$status_class = "";
}

Статус это дополнительное поле, по которому мы дополнительно сортируем
1 выводится у кого статус золото
2 серебро
3 все остальные
прикол в том что значение статуса тоже "" из за этого не получается отсортировать
Сейчас попробую выводить значения как ты написал с помощью trim
но такой вопрос а если он в начале и в конце не находит этого символа то нечего не удаляет правильно ?
Спасибо что помогаешь !
*

Magl

  • Захожу иногда
  • 85
  • 3 / 0
И ещё это всё что ты говоришь убирает при выводе из базы, а можно что бы они вообще не вносились в базу как то сделать ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод информации в личный кабинет пользователя

Автор zndm

Ответов: 17
Просмотров: 6198
Последний ответ 22.09.2022, 18:51:44
от beliyadm
Материалы пользователя (контакта)

Автор katerina37

Ответов: 5
Просмотров: 1168
Последний ответ 18.02.2022, 11:53:02
от katerina37
Руководство пользователя Joomla! 2.5 + 10 легких шагов к освоению Joomla! 3 (книги в pdf)

Автор Marques

Ответов: 68
Просмотров: 227126
Последний ответ 08.01.2021, 13:41:45
от artemnaum
Определение города пользователя по IP

Автор ria_andy

Ответов: 8
Просмотров: 7236
Последний ответ 05.12.2019, 15:20:40
от nikolaevevge
Как убрать index.php из ссылки в Joomla 2.5.4

Автор Sielena

Ответов: 56
Просмотров: 47915
Последний ответ 25.02.2019, 20:09:43
от zorlyglaiz