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

Steel84

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Ошибка в VirtueMart
« : 30.10.2011, 16:18:51 »
При работе все время выдает ошибку:
Warning: Attempt to assign property of non-object in /home/p50620/www/redprice-shop.ru/libraries/joomla/html/editor.php on line 309
Вод код файла editor.php:
Код
<?php
/**
 * @version $Id: editor.php 14401 2010-01-26 14:10:00Z louis $
 * @package Joomla.Framework
 * @subpackage HTML
 * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
 * @license GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 */

// Check to ensure this file is within the rest of the framework
defined('JPATH_BASE') or die();

jimport('joomla.event.dispatcher');

/**
 * JEditor class to handle WYSIWYG editors
 *
 * @package Joomla.Framework
 * @subpackage HTML
 * @since 1.5
 */
class JEditor extends JObservable
{
/**
* Editor Plugin object
*
* @var object
*/
var $_editor = null;

/**
* Editor Plugin name
*
* @var string
*/
var $_name = null;

/**
* Editor start and end tag
* Used to tell SEF plugin not to process editor contents
* @var array
*/
var $_tagForSEF = array('start' => '<!-- Start Editor -->', 'end' => '<!-- End Editor -->');

/**
* constructor
*
* @access protected
* @param string The editor name
*/
function __construct($editor = 'none')
{
$this->_name = $editor;
}

/**
* Returns a reference to a global Editor object, only creating it
* if it doesn't already exist.
*
* This method must be invoked as:
* <pre>  $editor = &JEditor::getInstance([$editor);</pre>
*
* @access public
* @param string $editor  The editor to use.
* @return JEditor The Editor object.
*/
function &getInstance($editor = 'none')
{
static $instances;

if (!isset ($instances)) {
$instances = array ();
}

$signature = serialize($editor);

if (empty ($instances[$signature])) {
$instances[$signature] = new JEditor($editor);
}

return $instances[$signature];
}

/**
* Initialize the editor
*/
function initialise()
{
//check if editor is already loaded
if(is_null(($this->_editor))) {
return;
}

$args['event'] = 'onInit';

$return = '';
$results[] = $this->_editor->update($args);
foreach ($results as $result) {
if (trim($result)) {
//$return .= $result;
$return = $result;
}
}

$document =& JFactory::getDocument();
$document->addCustomTag($return);
}

/**
* Present a text area
*
* @param string The control name
* @param string The contents of the text area
* @param string The width of the text area (px or %)
* @param string The height of the text area (px or %)
* @param int The number of columns for the textarea
* @param int The number of rows for the textarea
* @param boolean True and the editor buttons will be displayed
* @param array Associative array of editor parameters
*/
function display($name, $html, $width, $height, $col, $row, $buttons = true, $params = array())
{
$this->_loadEditor($params);

//check if editor is already loaded
if(is_null(($this->_editor))) {
return;
}

// Backwards compatibility. Width and height should be passed without a semicolon from now on.
// If editor plugins need a unit like "px" for CSS styling, they need to take care of that
$width = str_replace( ';', '', $width );
$height = str_replace( ';', '', $height );

// Initialize variables
$return = null;

$args['name'] = $name;
$args['content'] = $html;
$args['width'] = $width;
$args['height'] = $height;
$args['col'] = $col;
$args['row'] = $row;
$args['buttons'] = $buttons;
$args['event'] = 'onDisplay';

$results[] = $this->_editor->update($args);

foreach ($results as $result)
{
if (trim($result)) {
$return .= $result;
}
}
return $this->_tagForSEF['start'] . $return . $this->_tagForSEF['end'];
}

/**
* Save the editor content
*
* @param string The name of the editor control
*/
function save( $editor )
{
$this->_loadEditor();

//check if editor is already loaded
if(is_null(($this->_editor))) {
return;
}

$args[] = $editor;
$args['event'] = 'onSave';

$return = '';
$results[] = $this->_editor->update($args);
foreach ($results as $result) {
if (trim($result)) {
$return .= $result;
}
}
return $return;
}

/**
* Get the editor contents
*
* @param string The name of the editor control
*/
function getContent( $editor )
{
$this->_loadEditor();

$args['name'] = $editor;
$args['event'] = 'onGetContent';

$return = '';
$results[] = $this->_editor->update($args);
foreach ($results as $result) {
if (trim($result)) {
$return .= $result;
}
}
return $return;
}

/**
* Set the editor contents
*
* @param string The name of the editor control
* @param string The contents of the text area
*/
function setContent( $editor, $html )
{
$this->_loadEditor();

$args['name'] = $editor;
$args['html'] = $html;
$args['event'] = 'onSetContent';

$return = '';
$results[] = $this->_editor->update($args);
foreach ($results as $result) {
if (trim($result)) {
$return .= $result;
}
}
return $return;
}

/**
* Get the editor buttons
*
* @param mixed $buttons Can be boolean or array, if boolean defines if the buttons are displayed, if array defines a list of buttons not to show.
* @access public
* @since 1.5
*/
function getButtons($editor, $buttons = true)
{
$result = array();

if(is_bool($buttons) && !$buttons) {
return $result;
}

// Get plugins
$plugins = JPluginHelper::getPlugin('editors-xtd');

foreach($plugins as $plugin)
{
if(is_array($buttons) &&  in_array($plugin->name, $buttons)) {
continue;
}

$isLoaded = JPluginHelper::importPlugin('editors-xtd', $plugin->name, false);

$className = 'plgButton'.$plugin->name;
if(class_exists($className)) {
$plugin = new $className($this, (array)$plugin);
}

// Try to authenticate -- only add to array if authentication is successful
$resultTest = $plugin->onDisplay($editor);
if ($resultTest) $result[] =  $resultTest;
}

return $result;
}

/**
* Load the editor
*
* @access private
* @param array Associative array of editor config paramaters
* @since 1.5
*/
function _loadEditor($config = array())
{
//check if editor is already loaded
if(!is_null(($this->_editor))) {
return;
}

jimport('joomla.filesystem.file');

// Build the path to the needed editor plugin
$name = JFilterInput::clean($this->_name, 'cmd');
$path = JPATH_SITE.DS.'plugins'.DS.'editors'.DS.$name.'.php';

if ( ! JFile::exists($path) )
{
$message = JText::_('Cannot load the editor');
JError::raiseWarning( 500, $message );
return false;
}

// Require plugin file
require_once $path;

// Get the plugin
$plugin   =& JPluginHelper::getPlugin('editors', $this->_name);
$params   = new JParameter($plugin->params);
$params->loadArray($config);
$plugin->params = $params;

// Build editor plugin classname
$name = 'plgEditor'.$this->_name;
if($this->_editor = new $name ($this, (array)$plugin))
{
// load plugin parameters
$this->initialise();
JPluginHelper::importPlugin('editors-xtd');
}
}
}

В ошибке говорится о 309 строке. Что в ней не так и как избавиться от этой ошибки?
*

bolonia

  • Захожу иногда
  • 222
  • 27 / 0
Re: Ошибка в VirtueMart
« Ответ #1 : 30.10.2011, 21:38:25 »
Это не совсем ошибка, а просто предупреждение. Их можно отключить в настройках Joomla: вкладка Сервер — Сообщение об ошибках: нет
Бесплатный модуль обратного звонка / обратной связи для J3: http://joomlaforum.ru/index.php?topic=309065.0
*

Steel84

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Ошибка в VirtueMart
« Ответ #2 : 30.10.2011, 22:09:27 »
Но это предупреждение ведь не просто так? Дело в том, что у меня часто тормоза в VirtueMart-е и иногда бывают всякие косяки(панель администрирования из шапки переходит в нижнюю часть страницы и т.д.).
*

Grisly

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Ошибка в VirtueMart
« Ответ #3 : 01.12.2011, 20:16:03 »
Смотрим editor.php
Код
		// Get the plugin
[b]$plugin[/b]   =& JPluginHelper::getPlugin('editors', $this->_name);
$params   = new JParameter($plugin->params);
$params->loadArray($config);
[b]$plugin->params[/b] = $params;
Обнаруживаем, что в строчке 309 $plugin пуст, т.к. в строчке 305 нам не удалось найти нужный плагин
Выводим
Код
echo $this->_name;
В моем случае было написано jce
Открываем файл configuration.php
находим переменную $editor
Код
var $editor = 'jce';
У меня в процессе переноса эта переменная поменялась.
вернул на место
Код
var $editor = 'tinymce';
Ошибки изчезли.
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Re: Ошибка в VirtueMart
« Ответ #4 : 08.12.2011, 11:47:03 »
Я устранил ошибку более просто:
Версия VirtueMart 1.1.9 и Joomla 1.5.25

Warning: Attempt to assign property of non-object in libraries\joomla\html\editor.php on line 309  ?

Находим файл:
libraries->joomla->html->editor.php

И $plugin->params = $params; меняем на $this->plugin->params = $params;

У меня - ошибка исчезла...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Количество просмотров товара VirtueMart Существует?

Автор grishin

Ответов: 38
Просмотров: 13343
Последний ответ 22.08.2020, 08:44:29
от rsn
Не выводит списком Настраиваемое поле в VirtueMart 5.0

Автор ЛюдмилаМир

Ответов: 2
Просмотров: 3778
Последний ответ 25.08.2019, 16:27:04
от ЛюдмилаМир
Joomla VirtueMart помощь в переводе

Автор akkord31

Ответов: 0
Просмотров: 3605
Последний ответ 21.05.2019, 09:14:02
от akkord31
Миграция с Joomla 1.5 на 3 с VirtueMart 1.1.9 stable на свежую. Кто поможет?

Автор Гриша-Десантник

Ответов: 7
Просмотров: 3951
Последний ответ 23.04.2019, 10:22:25
от draff
Переход на https VirtueMart 1.1.4 проблемы с фото

Автор Sergey1984

Ответов: 4
Просмотров: 3956
Последний ответ 25.10.2018, 20:56:54
от Sergey1984