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

jey

  • Захожу иногда
  • 101
  • 1 / 0
Мыслители php подскажите
« : 28.03.2011, 00:47:38 »
Есть модуль вывода категорий с картинками, как можно жёстко закрепить определённые категории по id (3 шт.)
Код
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/**
* NOTE: THIS MODULE REQUIRES AN INSTALLED VirtueMart Component!
*
* @module Phoca - VirtueMart Category List
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @component - VirtueMart
* @copyright (C) 2004-2008 soeren - All Rights Reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*
* VirtueMart is Free Software.
* VirtueMart comes with absolute no warranty.
*
* www.virtuemart.net
*/

// Load the VirtueMart main parse code
if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
$mosConfig_absolute_path = realpath( dirname(__FILE__).'/../..' );
} else {
require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' );
}

//$category_id = vmGet( $_REQUEST, 'category_id');

global $VM_LANG, $sess;
if( vmIsJoomla('1.5' )) {
$vm_path = $mosConfig_absolute_path.'/modules/mod_virtuemart';
} else {
$vm_path = $mosConfig_absolute_path.'/modules';
}

require_once(CLASSPATH.'ps_product.php');
// PARAMS
$numColumns = $params->get('columns_num', 3);
$displayImg = $params->get('display_img', 1);
$displayAllCategories = $params->get('display_all_categories', 0);

$categories = array();
$ip = 0;
$categoriesAll = getPhocaCategoryTreeArray( );
foreach ($categoriesAll as $key => $value){
if ($displayAllCategories == 0) {
if ($value['category_parent_id'] == 0) {
$categories[$ip]['category_name'] = $value['category_name'];
$categories[$ip]['category_child_id'] = $value['category_child_id'];
$categories[$ip]['category_thumb_image'] = $value['category_thumb_image'];
$ip++;
}
} else {
$categories[$ip]['category_name'] = $value['category_name'];
$categories[$ip]['category_child_id'] = $value['category_child_id'];
$categories[$ip]['category_thumb_image'] = $value['category_thumb_image'];
$ip++;
}

}

$columns = (int)$numColumns;
$countCategories = count($categories);
$begin = array();
$end = array();
$begin[0] = 0;// first
$begin[1] =  ceil($countCategories / $columns);
$end[0] = $begin[1] -1;

for ( $jp = 2; $jp < $columns; $jp++ ) {
$begin[$jp] = ceil(($countCategories / $columns) * $jp);
$end[$jp-1] = $begin[$jp] - 1;
}

$end[$jp-1] = $countCategories - 1;// last
$endFloat = $countCategories - 1;


for ($kp = 0; $kp < $countCategories; $kp++) {
if ( $columns == 1 ) {
echo '<table border="0">';
} else {
$float = 0;
foreach ($begin as $key2 => $value2)
{
if ($kp == $value2) {
$float = 1;
}
}
if ($float == 1) {
echo '<div style="position:relative;float:left;margin:10px;"><table border="0">';
}
}

echo '<tr>';

if ($displayImg == 2) {
echo '<td align="center"><a href="'. $sess->url( URL .'index.php?page=shop.browse&amp;category_id=' . $categories[$kp]['category_child_id']). '">'. ps_product::image_tag( $categories[$kp]["category_thumb_image"], "alt=\"".$categories[$kp]["category_name"]."\"", 0, "category"). '</a></td></tr><tr>';
} else if ($displayImg == 1) {
echo '<td align="center"><a href="'. $sess->url( URL .'index.php?page=shop.browse&amp;category_id=' . $categories[$kp]['category_child_id']). '">'. JHTML::_('image', 'modules/mod_virtuemart_category_list/assets/images/icon-folder-small.png', $categories[$kp]['category_name']). '</a></td>';
}
echo '<td align="center" valign="middle" ><a href="'. $sess->url( URL .'index.php?page=shop.browse&amp;category_id=' . $categories[$kp]['category_child_id']). '">'.$categories[$kp]['category_name'].'</a></td>';
echo '</tr>';

if ( $columns == 1 ) {
echo '</table>';
} else {
if ($kp == $endFloat) {
echo '</table></div><div style="clear:both"></div>';
} else {
$float = 0;
foreach ($end as $k => $v)
{
if ($kp == $v) {
$float = 1;
}
}
if ($float == 1) {
echo '</table></div>';
}
}
}
}

function getPhocaCategoryTreeArray( $only_published=true, $keyword = "" ) {

$db = new ps_DB;

// Get published categories
$query  = "SELECT category_id, category_description, category_name,category_child_id as cid, category_parent_id as pid,list_order, category_publish, category_thumb_image
FROM #__{vm}_category, #__{vm}_category_xref WHERE ";
if( $only_published ) {
$query .= " #__{vm}_category.category_publish='Y' AND ";
}
$query .= " #__{vm}_category.category_id=#__{vm}_category_xref.category_child_id ";
if( !empty( $keyword )) {
$query .= " AND ( category_name LIKE '%$keyword%' ";
$query .= " OR category_description LIKE '%$keyword%' ";
$query .= " ) ";
}
$query .= " ORDER BY #__{vm}_category.list_order ASC, #__{vm}_category.category_name ASC";

// initialise the query in the $database connector
// this translates the '#__' prefix into the real database prefix
$db->query( $query );

$categories = Array();
// Transfer the Result into a searchable Array

while( $db->next_record() ) {
$categories[$db->f("cid")]["category_child_id"] = $db->f("cid");
$categories[$db->f("cid")]["category_parent_id"] = $db->f("pid");
$categories[$db->f("cid")]["category_name"] = $db->f("category_name");
$categories[$db->f("cid")]["category_description"] = $db->f("category_description");
$categories[$db->f("cid")]["list_order"] = $db->f("list_order");
$categories[$db->f("cid")]["category_publish"] = $db->f("category_publish");
$categories[$db->f("cid")]["category_thumb_image"] = $db->f("category_thumb_image");
}

return $categories;
}
?>
*

marco_manti

  • Новичок
  • 5
  • 1 / 0
Re: Мыслители php подскажите
« Ответ #1 : 28.03.2011, 14:14:27 »
В функции getPhocaCategoryTreeArray() перед строчкой:
Код
$query .= " ORDER BY #__{vm}_category.list_order ASC, #__{vm}_category.category_name ASC";
Вставь строку:
Код
$query .= " AND category_id IN ($id1, $id2, $id3) "
« Последнее редактирование: 28.03.2011, 14:20:13 от marco_manti »
*

jey

  • Захожу иногда
  • 101
  • 1 / 0
Re: Мыслители php подскажите
« Ответ #2 : 28.03.2011, 20:11:21 »
В функции getPhocaCategoryTreeArray() перед строчкой:
Код
$query .= " ORDER BY #__{vm}_category.list_order ASC, #__{vm}_category.category_name ASC";
Вставь строку:
Код
$query .= " AND category_id IN ($id1, $id2, $id3) "


не работает, не выводит ничего, хотя id категорий 1,2,3.
*

jey

  • Захожу иногда
  • 101
  • 1 / 0
Re: Мыслители php подскажите
« Ответ #3 : 28.03.2011, 22:29:54 »
Нужно было чуть по другому:

Код
$query .= "AND category_id IN(1,2,3)";
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подскажите озможно ли убрать описание из VirtueMart

Автор SMVVK

Ответов: 12
Просмотров: 3784
Последний ответ 17.02.2014, 23:18:45
от zxelf
Подскажите, где можно посмотреть варианты вывода товаров VirtueMart?

Автор Vorzhev

Ответов: 2
Просмотров: 1605
Последний ответ 24.09.2012, 22:09:47
от baloon
Подскажите пожалуйсто какой файл отвечает за это дейстуие

Автор streelok

Ответов: 1
Просмотров: 1535
Последний ответ 15.03.2012, 00:15:54
от Timer
подскажите как реализовать переключатель ваоют на сайте..

Автор streelok

Ответов: 1
Просмотров: 1415
Последний ответ 18.02.2012, 01:33:57
от tigra-uki
Подскажите как вывести в VirtueMart категории товаров

Автор SMVVK

Ответов: 6
Просмотров: 2315
Последний ответ 11.12.2011, 11:17:18
от SMVVK