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

Eugene1976

  • Новичок
  • 3
  • 0 / 0
Здравствуйте,

Eсть Joomla 2.5.7
в пользовательской части пытаюсь добавить собственную проверку текстового поля на валидность

в отличии от стандартной проверки на пусто должно проверяться что значение не равно еще и определенному слову
это слово прописано в языковых файлах

но похоже что фраза
if(value=="Joomla.JText._('COM_USERS_REGISTER_TESTFIELD')" || value=="")
в js файле так и остается непереведенной (не распарсенной)

может кто сможет подсказать в чем ошибка?

ниже приведены связанные с этим файлы
(я попытался сократить сами файлы и их количество до минимума, если нужна какая-нибудь дополнительная информация то пишите)

файлы:
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
components/com_users/models/forms/testfield.js:
/////////////////////////////////////////////////////////////////
window.addEvent('domready', function() {
  document.formvalidator.setHandler('testfield',
    function (value)
    {
      if(value=="Joomla.JText._('COM_USERS_REGISTER_TESTFIELD')" || value=="")
        return false;
      else
        return true;
    });
  }
);


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
components/com_users/models/forms/testfield.xml:
/////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="utf-8"?>
<form>
  <fieldset addfieldpath="/components/com_users/models/fields">
    <field
      name="testfield"
      type="text"
      default="Test Field"
      id="testfield"
      required="true"
      class="validate-testfield"
     />
  </fieldset>
</form>


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
components/com_users/models/testfield.php
/////////////////////////////////////////////////////////////////
<?php
defined('_JEXEC') or die;
jimport('joomla.application.component.modelform');
class UsersModelTestfield extends JModelForm
{
  public function getForm($data = array(), $loadData = true)
  {
    $form = $this->loadForm($this->option . '.Testfield', 'Testfield', array('control' => 'jform', 'load_data' => $loadData));
    if (empty($form))
    {
      return false;
    }
    return $form;
  }
  public function getScript()
  {
    return 'components/' . $this->option . '/models/forms/testfield.js';
  }
  protected function loadFormData()
  {
  }
}


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
com_users/views/testfield/view.html.php
/////////////////////////////////////////////////////////////////
<?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.view');
class UsersViewTestfield extends JViewLegacy
{
  protected $form;
  protected $script;
  public function display($tpl = null)
  {
    try
    {
      $this->form = $this->get('Form');
      $this->script = $this->get('Script');
      parent::display($tpl);
      $this->setDocument();
    }
    catch (Exception $e)
    {
      throw new Exception($e->getMessage());
    }
  }
  
  protected function setDocument()
  {
    $document = JFactory::getDocument();
    $document->addScript(JURI::root(). $this->script);
    JText::script('COM_USERS_REGISTER_TESTFIELD');
  }
}


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
components/com_users/views/testfield/tmpl/default.php:
/////////////////////////////////////////////////////////////////
<?php
defined('_JEXEC') or die;
JHtml::_('behavior.framework');//на счет этой строки совсем не уверен но похоже что именно это строка должна отвечать за парсинг(перевод) js файла
JHtml::_('behavior.formvalidation');
?>
<form action="<?php echo JRoute::_('index.php?option=com_users&task=testfield.register');?>" method="post" name="testieldForm" id="testield-form" class="form-validate">
  <?php
  foreach ($this->form->getFieldset() as $field)
  {
  ?>
  <div class="login-fields"><?php echo $field->input; ?></div>
  <?php
  }
  ?>
  <button class="validate" type="submit"><?php echo JText::_('COM_USERS_REGISTER_SUBMIT'); ?></button>
  <input type="hidden" name="task" value="testfield.register">
  <input type="hidden" name="option" value="com_users" />
  <?php echo JHtml::_('form.token'); ?>
</form>


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
components/com_users/controller.php
/////////////////////////////////////////////////////////////////
тут просто вставка чтоб увидеть нужное представление
.......
.......
case 'login':
  $model = $this->getModel($vName);
  break;
case 'testfield':
  $model = $this->getModel($vName);
  break;
.......


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/language/en-GB/en-GB.com_users.ini
/////////////////////////////////////////////////////////////////
тут просто добавил определения для строк
.............
.............
COM_USERS_REGISTER_TESTFIELD="Test Field"
COM_USERS_REGISTER_SUBMIT="Submit"


/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
вызывается все это примерно так:
http://localhost/Joomla_2.5.7-Stable-Full_Package/index.php?option=com_users&view=testfield
« Последнее редактирование: 23.09.2014, 00:39:42 от Eugene1976 »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Как локализировать js файлы?
« Ответ #1 : 22.09.2014, 22:51:53 »
сдается мне тут не должно быть кавычек:
if(value==Joomla.JText._('COM_USERS_REGISTER_TESTFIELD') || value=="")...
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Как локализировать js файлы?
« Ответ #2 : 22.09.2014, 22:58:04 »
имхо, if (value == JText::_('COM_USERS_REGISTER_TESTFIELD') || value == "")
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Как локализировать js файлы?
« Ответ #3 : 22.09.2014, 23:10:50 »
имхо, if (value == JText::_('COM_USERS_REGISTER_TESTFIELD') || value == "")

Нет, JText::_(...) php-шный метод. Тут речь идет о методе из core.js библиотеки. Я проверял, вполне рабочий метод, например код:
Код: php
JHtml::_('behavior.framework');
$lang = JFactory::getLanguage();
$lang->load('com_users',JPATH_ROOT);
$doc = JFactory::getDocument();
JText::script('COM_USERS_EDIT_PROFILE');
$doc->addScriptDeclaration("window.addEvent('domready', function() { alert(Joomla.JText._('COM_USERS_EDIT_PROFILE')) });");

Выведет фразу "Изменить профиль" через javascript.
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Как локализировать js файлы?
« Ответ #4 : 22.09.2014, 23:14:45 »
Недоглядел про js, сори. Что делает JText::script()? Это ведь посредством него позволяется вывод Joomla.JText._() в js? или там что-то еще завязано?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Как локализировать js файлы?
« Ответ #5 : 22.09.2014, 23:27:20 »
Недоглядел про js, сори. Что делает JText::script()? Это ведь посредством него позволяется вывод Joomla.JText._() в js?

Да, он генерит скрипт который загоняет строку в массив объектов посредством метода Joomla.JText.load(...);
интернет-блог: http://websiteprog.ru
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Как локализировать js файлы?
« Ответ #6 : 22.09.2014, 23:32:38 »
А я-то мучился, каждый раз делая что-то вроде $doc->addScriptDeclaration('var COM_USERS_EDIT_PROFILE = "'.JText::_('COM_USERS_EDIT_PROFILE').'";'); =) а тут вон оно как все просто оказывается
*

Eugene1976

  • Новичок
  • 3
  • 0 / 0
Re: Как локализировать js файлы?
« Ответ #7 : 23.09.2014, 00:38:58 »
сдается мне тут не должно быть кавычек:
if(value==Joomla.JText._('COM_USERS_REGISTER_TESTFIELD') || value=="")...


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

Где брать языковые файлы разных языков для 2,5

Автор kikimora17

Ответов: 2
Просмотров: 2714
Последний ответ 11.05.2012, 21:57:58
от kikimora17