Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

С тех пор, как в поисковиках появились нейроответы ИИ, трафик на сайты стал гораздо меньше, так как пользователь стал получать информацию непосредственно на странице поисковика без перехода на сайт. Но при генерации ответа ИИ указывает источники - ссылки на сайты, информация которых была использована для генерации ответа.

Долгое время у всех был немой вопрос: "Как же теперь оценивать эффективность сайта?". Теперь этот на этот вопрос отчасти отвечает новый инструмент аналитики.
Процитируем справку Яндекса по инструменту:
На запросы пользователей в Поиске может отвечать Алиса AI. Ответы появляются в поисковой выдаче, в объектных ответах и на отдельной вкладке Поиска. В них чаще всего упоминаются страницы сайтов, на которые Алиса AI опиралась при подготовке ответа.

С помощью инструмента Видимость сайта в Алисе AI в Яндекс Вебмастере вы можете:
- узнать долю упоминаний сайта среди источников в ответах Алисы AI в Поиске и отследить динамику изменений;
- посмотреть примеры запросов, по которым страницы сайта показываются в ответах Алисы AI;
- посмотреть примеры сайтов той же тематики, которые часто упоминаются в генеративной выдаче.
Данные отображаются за последние 3 месяца и обновляются каждую неделю.

Статистика собирается только по тем запросам, по которым ваш сайт уже находится достаточно высоко в поисковой выдаче. Это позволяет анализировать видимость именно в той нише, где вы заинтересованы в продвижении, и избегать «размытия» по малозначимым для вас запросам.

Кроме того, такой подход обусловлен работой Алисы AI: она строит ответ с опорой на самые релевантные, информативные и качественные страницы, которые обычно занимают высокие позиции в Поиске.

Чтобы увидеть статистику вашего сайта в меню Яндекс.Вебмастера перейдите в раздел "Эффективность" и далее в "Показы сайта в Алисе AI".

В начале февраля 2026г. был вебинар с Михаилом Сливинским - амбассадором Поиска Яндекса, и в рамках вебинара была озвучена просьба сделать такой инструмент. Скорее всего разработка на тот момент уже велась, потому что от просьбы до релиза прошло около 2-х месяцев. В любом случае хорошо, что такая статистика появилась.

Показы сайта в Алисе AI в вашем Яндекс,Вебмастере.

@joomlafeed

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

Dench

  • Новичок
  • 5
  • 0 / 0
Re: Переход на PHP 7.1 или 7.2
« Ответ #30 : 11.02.2019, 16:51:07 »
я могу

А здесь личка есть?
Как можно связаться?
*

Dench

  • Новичок
  • 5
  • 0 / 0
Re: Переход на PHP 7.1 или 7.2
« Ответ #31 : 11.02.2019, 18:18:42 »
Пока вернули на PHP 5.6
Вылезли ошибки на странице

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in /var/www/c6702/data/www/c6702.test60minut.ru/templates/jblank/html/com_content/article/default.php on line 236
Warning: mysql_query(): A link to the server could not be established in /var/www/c6702/data/www/c6702.test60minut.ru/templates/jblank/html/com_content/article/default.php on line 236
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/c6702/data/www/c6702.test60minut.ru/templates/jblank/html/com_content/article/default.php on line 237

Код
<?php
/**
 * @version $Id: default.php 21518 2011-06-10 21:38:12Z chdemko $
 * @package Joomla.Site
 * @subpackage com_content
 * [member=126442]copyright[/member] Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;

function imgResize($src_img, $dest_img, $width, $height, $mode=0, $format='jpg', $quality=90) {


    if (!file_exists($src_img)) return false;
    $img_size = getimagesize($src_img);
    if ($img_size === false) return false;

    $img_format = strtolower(substr($img_size['mime'], strpos($img_size['mime'], '/') + 1));
    if (!function_exists($fn_imgcreatefrom = 'imagecreatefrom'.$img_format)) return false;

    $x_ratio = $width  / $img_size[0];
    $y_ratio = $height / $img_size[1];

    $fn_extrem = $mode ? 'max' : 'min';
    $ratio = $fn_extrem($x_ratio, $y_ratio);

    $new_width  = $x_ratio == $ratio ? $width  : floor($img_size[0] * $ratio);
    $new_height = $x_ratio != $ratio ? $height : floor($img_size[1] * $ratio);
    $new_left = $x_ratio == $ratio || !$mode ? 0 : floor(($width - $new_width) / 2);
    $new_top  = $x_ratio != $ratio || !$mode ? 0 : floor(($height - $new_height) / 2);

    $gd_dest_img = imagecreatetruecolor($mode?$width:$new_width, $mode?$height:$new_height);
    $gd_src_img = $fn_imgcreatefrom($src_img);

    imagecopyresampled($gd_dest_img, $gd_src_img, $new_left, $new_top, 0, 0, $new_width, $new_height, $img_size[0], $img_size[1]);
    switch ($format) {
      case 'gif': imagegif ($gd_dest_img, $dest_img); break;
      case 'png': imagepng ($gd_dest_img, $dest_img); break;
      default:    imagejpeg($gd_dest_img, $dest_img, $quality); break;
    }
    imagedestroy($gd_dest_img);
    imagedestroy($gd_src_img);

    return $dest_img;
}


JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

// Create shortcuts to some parameters.
$params = $this->item->params;
$canEdit = $this->item->params->get('access-edit');
$user = JFactory::getUser();

?>   
<div class="item-page<?php echo $this->pageclass_sfx?>">
<?php if ($this->params->get('show_page_heading', 1)) : ?>
<h1>
<?php echo $this->item->title; ?>
</h1>
<?php endif; ?>
<?php if ($params->get('show_title')) : ?>
<h2>
<?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
<a href="<?php echo $this->item->readmore_link; ?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</h2>
<?php endif; ?>

<?php if ($canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
<ul class="actions">
<?php if (!$this->print) : ?>
<?php if ($params->get('show_print_icon')) : ?>
<li class="print-icon">
<?php echo JHtml::_('icon.print_popup',  $this->item, $params); ?>
</li>
<?php endif; ?>

<?php if ($params->get('show_email_icon')) : ?>
<li class="email-icon">
<?php echo JHtml::_('icon.email',  $this->item, $params); ?>
</li>
<?php endif; ?>

<?php if ($canEdit) : ?>
<li class="edit-icon">
<?php echo JHtml::_('icon.edit', $this->item, $params); ?>
</li>
<?php endif; ?>

<?php else : ?>
<li>
<?php echo JHtml::_('icon.print_screen',  $this->item, $params); ?>
</li>
<?php endif; ?>

</ul>
<?php endif; ?>

<?php  if (!$params->get('show_intro')) :
echo $this->item->event->afterDisplayTitle;
endif; ?>

<?php echo $this->item->event->beforeDisplayContent; ?>

<?php $useDefList = (($params->get('show_author')) OR ($params->get('show_category')) OR ($params->get('show_parent_category'))
OR ($params->get('show_create_date')) OR ($params->get('show_modify_date')) OR ($params->get('show_publish_date'))
OR ($params->get('show_hits'))); ?>

<?php if ($useDefList) : ?>
<dl class="article-info">
<dt class="article-info-term"><?php  echo JText::_('COM_CONTENT_ARTICLE_INFO'); ?></dt>
<?php endif; ?>
<?php if ($params->get('show_parent_category') && $this->item->parent_slug != '1:root') : ?>
<dd class="parent-category-name">
<?php $title = $this->escape($this->item->parent_title);
$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->parent_slug)).'">'.$title.'</a>';?>
<?php if ($params->get('link_parent_category') AND $this->item->parent_slug) : ?>
<?php echo JText::sprintf('COM_CONTENT_PARENT', $url); ?>
<?php else : ?>
<?php echo JText::sprintf('COM_CONTENT_PARENT', $title); ?>
<?php endif; ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_category')) : ?>
<dd class="category-name">
<?php $title = $this->escape($this->item->category_title);
$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';?>
<?php if ($params->get('link_category') AND $this->item->catslug) : ?>
<?php echo JText::sprintf('COM_CONTENT_CATEGORY', $url); ?>
<?php else : ?>
<?php echo JText::sprintf('COM_CONTENT_CATEGORY', $title); ?>
<?php endif; ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_create_date')) : ?>
<dd class="create">
<?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHtml::_('date',$this->item->created, JText::_('DATE_FORMAT_LC2'))); ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_modify_date')) : ?>
<dd class="modified">
<?php echo JText::sprintf('COM_CONTENT_LAST_UPDATED', JHtml::_('date',$this->item->modified, JText::_('DATE_FORMAT_LC2'))); ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_publish_date')) : ?>
<dd class="published">
<?php echo JText::sprintf('COM_CONTENT_PUBLISHED_DATE', JHtml::_('date',$this->item->publish_up, JText::_('DATE_FORMAT_LC2'))); ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_author') && !empty($this->item->author )) : ?>
<dd class="createdby">
<?php $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author; ?>
<?php if (!empty($this->item->contactid) && $params->get('link_author') == true): ?>
<?php
$needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->contactid;
$item = JSite::getMenu()->getItems('link', $needle, true);
$cntlink = !empty($item)? $needle . '&Itemid=' . $item->id : $needle;
?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', JRoute::_($cntlink), $author)); ?>
<?php else: ?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
<?php endif; ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_hits')) : ?>
<dd class="hits">
<?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS', $this->item->hits); ?>
</dd>
<?php endif; ?>
<?php if ($useDefList) : ?>
</dl>
<?php endif; ?>

<?php if (isset ($this->item->toc)) : ?>
<?php echo $this->item->toc; ?>
<?php endif; ?>
<?php if ($params->get('access-view')):?>
<?php
    # GALLERY
    preg_match('/##(.*)##/',$this->item->text,$matches);
    $gallery_name = $matches[1];
    if($gallery_name){
      $gallery_path = JPATH_BASE.'/images/'.$matches[1].'/';
      @mkdir($gallery_path.'thumb/',0755);
      $dh = opendir($gallery_path);
      $imgAr = Array();
      $i = 0;
      while (($file2 = readdir($dh))!== false) 
    {
       if($file2 != '.' && $file2 != '..' && $file2 != 'thumb' && $file2 != 'index.html'){
         $imgAr[$i][0] = '/images/'.$gallery_name.'/'.$file2;
         $imgAr[$i][1] = '/images/'.$gallery_name.'/thumb/'.$file2;
         $imgAr[$i][2] = $file2;
         $i++;
       } 
     if(file_exists($gallery_path.'thumb/'.$file2) === false):
    if($file2 != '.' && $file2 != '..'){
    $file3 = $gallery_path.'thumb/'.$file2;
    if(is_dir($file3) == false){
      $format = explode('.',$file3);
      $format = strtolower($format[count($format)-1]);
      if($format == 'jpg' || $format == 'jpeg' || $format == 'gif'){
              [member=109786]Copy[/member] ($gallery_path.$file2,$gallery_path.'thumb/'.$file2);
              imgResize($gallery_path.'thumb/'.$file2,$gallery_path.'thumb/'.$file2,100,66);
        //echo $file3." - $i<br/>";
      //echo 'F:\WebServers3\home\localhost\www\neolit\new\\'.$i.'.'.$format.'<br/>';
      }
    }
    }
  endif;
    } 
    closedir($dh);
   
    function sortImages($a,$b){
        return strcmp($a[2],$b[2]);
      }
    usort($imgAr,'sortImages');
   
    $gallery = "<ul class='gallery' id='lightBox'>";
      foreach($imgAr as $img){
        $gallery .= "<li><a href='$img[0]' rel='prettyPhoto[mixed]'> <img src='$img[1]'> </a></li>";
      }
      $gallery .= "</ul>";
      //$this->item->text = str_replace("##$gallery_name##",$gallery,$this->item->text);
    }
    # /GALLERY
      $jconfig = new JConfig(); //new
    jimport('joomla.utilities.utility');
   
    $emailRs = mysql_query("SELECT introtext FROM ".$jconfig->dbprefix."content WHERE alias = 'email'");
    $email = mysql_fetch_assoc($emailRs);
    $email = $email['introtext'];
    $email = strip_tags($email);
    $email = preg_replace('/[^a-z0-9-_.@]/i', '', $email);
     
    $this->item->text = str_replace("#domain#",$_SERVER['HTTP_HOST'],$this->item->text);
    $this->item->text = str_replace("#email#","$email",$this->item->text);
    $this->item->text = str_replace("#url#","<a href='http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."'>http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."</a>",$this->item->text);

    echo $this->item->text;
  ?>

<?php //optional teaser intro text for guests ?>
<?php elseif ($params->get('show_noauth') == true AND  $user->get('guest') ) : ?>
<?php echo $this->item->introtext; ?>
<?php //Optional link to let them register to see the whole article. ?>
<?php if ($params->get('show_readmore') && $this->item->fulltext != null) :
$link1 = JRoute::_('index.php?option=com_users&view=login');
$link = new JURI($link1);?>
<p class="readmore">
<a href="<?php echo $link; ?>">
<?php $attribs = json_decode($this->item->attribs);  ?>
<?php
if ($attribs->alternative_readmore == null) :
echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
elseif ($readmore = $this->item->alternative_readmore) :
echo $readmore;
if ($params->get('show_readmore_title', 0)!= 0) :
    echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
endif;
elseif ($params->get('show_readmore_title', 0) == 0) :
echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');
else :
echo JText::_('COM_CONTENT_READ_MORE');
echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
endif; ?></a>
</p>
<?php endif; ?>
<?php endif; ?>
<?php echo $this->item->event->afterDisplayContent; ?>
</div>
*

arma

  • Завсегдатай
  • 1752
  • 81 / 3
Re: Переход на PHP 7.1 или 7.2
« Ответ #32 : 11.02.2019, 22:58:37 »
Dench это не ошибки, это warning, т.е.остережение .  Отключите их показ и живите спокойно, иначе сами учите азбуку
*

vdonsk61

  • Новичок
  • 5
  • 0 / 0
Re: Переход на PHP 7.1 или 7.2
« Ответ #33 : 26.03.2019, 15:14:17 »
Функция getThumb должна принимать хотя бы один аргумент
Код: php
function getThumb($id = false){

подскажи плз как с тобой связаться, через ЛС не получается
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Из FAQ: Переход с 2.5 на 3.х

Автор Magnum

Ответов: 168
Просмотров: 103932
Последний ответ 16.03.2023, 15:25:38
от MarGalaeva
Переход на php 8

Автор kurz

Ответов: 2
Просмотров: 1510
Последний ответ 06.11.2022, 09:46:19
от kurz
Переход на PHP 8 ошибка

Автор Zegeberg

Ответов: 5
Просмотров: 5092
Последний ответ 08.06.2021, 14:51:54
от bratsk12
Переход на 7.3 версииPHP ошибка с темой

Автор peklor

Ответов: 6
Просмотров: 1590
Последний ответ 18.04.2021, 23:02:35
от peklor
Обновление Joomla c 3.8.6 и переход c php 5.6

Автор buto

Ответов: 5
Просмотров: 1918
Последний ответ 25.02.2021, 08:28:07
от draff