Новости Joomla

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

Вы уверенно чувствуете себя перед камерой, динамичны, обаятельны и всегда улыбаетесь? Чувствуете себя искателем приключений, готовым поделиться своими исследованиями CMS Joomla!, взять интервью у видных деятелей сообщества, пообщаться лично или по видеосвязи с волонтерами Joomla или отправиться на поиски новых идей?

Joomla ищет одного или нескольких волонтеров, готовых вдохнуть новую жизнь в обсуждение Joomla, ее CMS, пользователей, сообщества и многого другого.

Возможны самые разные форматы и темы: шортсы, интервью, аналитика и разборы в режиме реального времени, быстрые советы и рекомендации, знакомство с миром Joomla, изучение открытого исходного кода... Нет никаких ограничений!

Joomla! уже активно представлена ​​во многих социальных сетях:
- 155K подписчиков на Facebook,
- 55K подписчиков на X (ранее Twitter),
- 16K подписчиков на YouTube,
- 14K подписчиков на LinkedIn,
- 5,7K подписчиков в Instagram
а так же другие площадки ждут вас. Аккаунты Threads и Bluesky относительно новые, но их популярность только растёт!

А если хватит энергии, можно рассмотреть и TikTok!

❓ Итак, вы готовы?
👉 Свяжитесь с отделом маркетинга по адресу: marketing@community.joomla.org

Подробности в статье в Joomla Community Magazine.

@joomlafeed

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

slav

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Суть такова: делаю элемент Глерея submitable, тоесть определение пути к папке с изображениями для галереи с фронтэнда.
Внес измениения в файл gallery.php
Код: php

class ElementGallery extends Element implements iSubmittable{

protected $filter = "/(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$/i";

/*
   Function: Constructor
*/
public function __construct() {

// call parent constructor
parent::__construct();

// set callbacks
$this->registerCallback('dirs');
}

/*
Function: getDirectory
Returns the directory with trailing slash.

Returns:
String - directory
*/
public function getDirectory() {
return rtrim($this->config->get('directory'), '/').'/';
}

public function getResource() {
return 'root:'.$this->getDirectory().trim($this->get('value'), '/');
}

public function getFiles() {
return $this->app->path->files($this->getResource(), false, $this->filter);
}

/*
Function: hasValue
Checks if the element's value is set.

   Parameters:
$params - AppData render parameter

Returns:
Boolean - true, on success
*/
public function hasValue($params = array()) {
// init vars
$params = $this->app->data->create($params);
$value  = $this->get('value');
if (empty($value)) {
return false;
}
$thumbs = $this->_getThumbnails($params);
return !empty($thumbs);
}

/*
Function: render
Renders the element.

   Parameters:
            $params - AppData render parameter

Returns:
String - html
*/
public function render($params = array()) {

// init vars
$params = $this->app->data->create($params);

// get thumbnails
$thumbs = $this->_getThumbnails($params);

// no thumbnails found
if (empty($thumbs)) {
return JText::_('No thumbnails found');
}

// limit thumbnails to count
if (($count = (int) $params->get('count', 0)) && $count < count($thumbs)) {
$thumbs = array_slice($thumbs, 0, $count);
}

// add CSS and javascript
$this->app->document->addScript('elements:gallery/gallery.js');
$this->app->document->addStylesheet('elements:gallery/gallery.css');

if ($layout = $this->getLayout($params->get('mode', 'lightbox').'.php')) {
return $this->renderLayout($layout, compact('thumbs', 'params'));
}

return null;
}

/*
   Function: edit
       Renders the edit form field.

   Returns:
       String - html
*/
public function edit() {

// init vars
$title = htmlspecialchars(html_entity_decode($this->get('title'), ENT_QUOTES), ENT_QUOTES);

if ($layout = $this->getLayout('edit.php')) {
            return $this->renderLayout($layout, compact('title'));
        }

        return null;

}

/*
Function: loadAssets
Load elements css/js assets.

Returns:
Void
*/
public function loadAssets() {
$this->app->document->addScript('assets:js/finder.js');
$this->app->document->addScript('elements:gallery/gallery.js');
}

/*
Function: dirs
Get directory list JSON formatted

Returns:
Void
*/
public function dirs() {
$dirs = array();
$path = $this->app->request->get('path', 'string');
foreach ($this->app->path->dirs('root:'.$this->getDirectory().$path) as $dir) {
$count = count($this->app->path->files('root:'.$this->getDirectory().$path.'/'.$dir, false, $this->filter));
$dirs[] = array('name' => basename($dir). " ($count)", 'path' => $path.'/'.$dir, 'type' => 'folder');
}

return json_encode($dirs);
}

protected function _getThumbnails($params) {

$thumbs     = array();
$width      = (int) $params->get('width');
$height     = (int) $params->get('height');
$title      = $this->get('title', '');
$path = $this->app->path->path($this->getResource()).'/';

// set default thumbnail size, if incorrect sizes defined
if ($width < 1 && $height < 1) {
$width  = 100;
$height = null;
}

foreach ($this->getFiles() as $filename) {

$file  = $path.$filename;
$thumb = $this->app->zoo->resizeImage($file, $width, $height);

// if thumbnail exists, add it to return value
if (is_file($thumb)) {

// set image name or title if exsist
$name = !empty($title)? $title : $this->app->string->ucwords($this->app->string->str_ireplace('_', ' ', JFile::stripExt($filename)));

// get image info
list($thumb_width, $thumb_height) = @getimagesize($thumb);

$thumbs[] = array(
'name'         => $name,
'filename'     => $filename,
'img'          => JURI::root().$this->app->path->relative($file),
'img_file'     => $file,
'thumb'    => JURI::root().$this->app->path->relative($thumb),
'thumb_width'  => $thumb_width,
'thumb_height' => $thumb_height
);
}
}

usort($thumbs, create_function('$a,$b', 'return strcmp($a["filename"], $b["filename"]);'));
switch ($params->get('order', 'asc')) {
case 'random':
shuffle($thumbs);
break;
case 'desc':
$thumbs = array_reverse($thumbs);
break;
}

return $thumbs;
}

public function renderSubmission($params = array()) {
     return $this->edit();
}

public function validateSubmission($value, $params){
     
}
 
В сабмишене во фронтэнде Галерея появилась, но отсутсвует возле поля Path изображение папки, при нажатии на которое открыветься окно для выбора папок. Файл edit.php не менял. Кто может что посоветует?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с добавлением материалов в ZOO

Автор tvorec1988

Ответов: 1
Просмотров: 3248
Последний ответ 22.02.2021, 22:21:14
от draff
Галерея фото с перелистыванием в ZOO

Автор saschka

Ответов: 1
Просмотров: 1854
Последний ответ 17.01.2017, 05:22:09
от shtier
Проблема с отображением категорий ZOO

Автор Helg

Ответов: 17
Просмотров: 3370
Последний ответ 30.01.2015, 22:14:06
от Helg
Проблема с отображением CSS и шаблоном в zoo

Автор Morok

Ответов: 0
Просмотров: 1640
Последний ответ 03.07.2014, 00:30:52
от Morok
Проблема с Widgetkit

Автор alsak

Ответов: 3
Просмотров: 2858
Последний ответ 26.02.2014, 14:09:20
от jd311