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

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
Просмотров: 2657
Последний ответ 11.05.2012, 21:57:58
от kikimora17