Новости Joomla

Как тестировать 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

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
На веб-сайте стандартная форма регистрации пользователей и CAPTCHA от Google. Проблема в том, что при включённой каптче поля для регистрации немного сдвигаются вверх. Можно это как-то исправить?
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Можно.
Какой вопрос, такой ответ.
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Можно.
Какой вопрос, такой ответ.

Как исправить?
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
С помощью CSS
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
С помощью CSS
А я думал с помощью C++!

Если можно, подробнее пожалуйста. Где находится код который нужно править? И желательно указать какие строки изменять?
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Вот как вы думаете, как вам можно помочь, если вы не дали ссылки на проблемный сайт? Телепатов подождите.
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Вот как вы думаете, как вам можно помочь, если вы не дали ссылки на проблемный сайт? Телепатов подождите.

Без проблем. Вот ссылка: http://www.lotteryprocessor.com/index.php/component/users/?view=registration
Поля чуть сдвинуты вверх.
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Форма формируется с помощью списков определения.
В первом <dd> у вас пусто, нужно туда поставить &nbsp;
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Форма формируется с помощью списков определения.
В первом <dd> у вас пусто, нужно туда поставить &nbsp;
Спасибо, увидел. А где находится код этой формы регистрации чтобы отредактировать его?
« Последнее редактирование: 14.04.2012, 22:03:20 от user124 »
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Либо ваш_сайт\html\com_contact\contact\default.php
или components\com_contact\views\contact\tmpl\default.php
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Ошибочка, форма формируется в файле default_form.php
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Либо ваш_сайт\html\com_contact\contact\default.php
или components\com_contact\views\contact\tmpl\default.php

Вот код default.php, куда тут вставить пробел?:
Код
<?php
 /**
 * @package Joomla.Site
 * @subpackage com_contact
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$cparams = JComponentHelper::getParams ('com_media');
?>
<div class="contact<?php echo $this->pageclass_sfx?>">
<?php if ($this->params->get('show_page_heading', 1)) : ?>
<h1>
<?php echo $this->escape($this->params->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php if ($this->contact->name && $this->params->get('show_name')) : ?>
<h2>
<span class="contact-name"><?php echo $this->contact->name; ?></span>
</h2>
<?php endif;  ?>
<?php if ($this->params->get('show_contact_category') == 'show_no_link') : ?>
<h3>
<span class="contact-category"><?php echo $this->contact->category_title; ?></span>
</h3>
<?php endif; ?>
<?php if ($this->params->get('show_contact_category') == 'show_with_link') : ?>
<?php $contactLink = ContactHelperRoute::getCategoryRoute($this->contact->catid);?>
<h3>
<span class="contact-category"><a href="<?php echo $contactLink; ?>">
<?php echo $this->escape($this->contact->category_title); ?></a>
</span>
</h3>
<?php endif; ?>
<?php if ($this->params->get('show_contact_list') && count($this->contacts) > 1) : ?>
<form action="#" method="get" name="selectForm" id="selectForm">
<?php echo JText::_('COM_CONTACT_SELECT_CONTACT'); ?>
<?php echo JHtml::_('select.genericlist',  $this->contacts, 'id', 'class="inputbox" onchange="document.location.href = this.value"', 'link', 'name', $this->contact->link);?>
</form>
<?php endif; ?>
<?php  if ($this->params->get('presentation_style')!='plain'){?>
<?php  echo  JHtml::_($this->params->get('presentation_style').'.start', 'contact-slider'); ?>
<?php  echo JHtml::_($this->params->get('presentation_style').'.panel', JText::_('COM_CONTACT_DETAILS'), 'basic-details'); } ?>
<?php if ($this->params->get('presentation_style')=='plain'):?>
<?php  echo '<h3>'. JText::_('COM_CONTACT_DETAILS').'</h3>';  ?>
<?php endif; ?>
<?php if ($this->contact->image && $this->params->get('show_image')) : ?>
<div class="contact-image">
<?php echo JHtml::_('image', $this->contact->image, JText::_('COM_CONTACT_IMAGE_DETAILS'), array('align' => 'middle')); ?>
</div>
<?php endif; ?>

<?php if ($this->contact->con_position && $this->params->get('show_position')) : ?>
<p class="contact-position"><?php echo $this->contact->con_position; ?></p>
<?php endif; ?>

<?php echo $this->loadTemplate('address'); ?>

<?php if ($this->params->get('allow_vcard')) : ?>
<?php echo JText::_('COM_CONTACT_DOWNLOAD_INFORMATION_AS');?>
<a href="<?php echo JRoute::_('index.php?option=com_contact&amp;view=contact&amp;id='.$this->contact->id . '&amp;format=vcf'); ?>">
<?php echo JText::_('COM_CONTACT_VCARD');?></a>
<?php endif; ?>
<p></p>
<?php if ($this->params->get('show_email_form') && ($this->contact->email_to || $this->contact->user_id)) : ?>

<?php if ($this->params->get('presentation_style')!='plain'):?>
<?php  echo JHtml::_($this->params->get('presentation_style').'.panel', JText::_('COM_CONTACT_EMAIL_FORM'), 'display-form');  ?>
<?php endif; ?>
<?php if ($this->params->get('presentation_style')=='plain'):?>
<?php  echo '<h3>'. JText::_('COM_CONTACT_EMAIL_FORM').'</h3>';  ?>
<?php endif; ?>
<?php  echo $this->loadTemplate('form');  ?>
<?php endif; ?>
<?php if ($this->params->get('show_links')) : ?>
<?php echo $this->loadTemplate('links'); ?>
<?php endif; ?>
<?php if ($this->params->get('show_articles') && $this->contact->user_id && $this->contact->articles) : ?>
<?php if ($this->params->get('presentation_style')!='plain'):?>
<?php echo JHtml::_($this->params->get('presentation_style').'.panel', JText::_('JGLOBAL_ARTICLES'), 'display-articles'); ?>
<?php endif; ?>
<?php if  ($this->params->get('presentation_style')=='plain'):?>
<?php echo '<h3>'. JText::_('JGLOBAL_ARTICLES').'</h3>'; ?>
<?php endif; ?>
<?php echo $this->loadTemplate('articles'); ?>
<?php endif; ?>
<?php if ($this->params->get('show_profile') && $this->contact->user_id && JPluginHelper::isEnabled('user', 'profile')) : ?>
<?php if ($this->params->get('presentation_style')!='plain'):?>
<?php echo JHtml::_($this->params->get('presentation_style').'.panel', JText::_('COM_CONTACT_PROFILE'), 'display-profile'); ?>
<?php endif; ?>
<?php if ($this->params->get('presentation_style')=='plain'):?>
<?php echo '<h3>'. JText::_('COM_CONTACT_PROFILE').'</h3>'; ?>
<?php endif; ?>
<?php echo $this->loadTemplate('profile'); ?>
<?php endif; ?>
<?php if ($this->contact->misc && $this->params->get('show_misc')) : ?>
<?php if ($this->params->get('presentation_style')!='plain'){?>
<?php echo JHtml::_($this->params->get('presentation_style').'.panel', JText::_('COM_CONTACT_OTHER_INFORMATION'), 'display-misc');} ?>
<?php if ($this->params->get('presentation_style')=='plain'):?>
<?php echo '<h3>'. JText::_('COM_CONTACT_OTHER_INFORMATION').'</h3>'; ?>
<?php endif; ?>
<div class="contact-miscinfo">
<div class="<?php echo $this->params->get('marker_class'); ?>">
<?php echo $this->params->get('marker_misc'); ?>
</div>
<div class="contact-misc">
<?php echo $this->contact->misc; ?>
</div>
</div>
<?php endif; ?>
<?php if ($this->params->get('presentation_style')!='plain'){?>
<?php echo JHtml::_($this->params->get('presentation_style').'.end');} ?>
</div>
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Ошибочка, форма формируется в файле default_form.php
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0


Куда именно нужно поместить &nbsp?
Код
<?php

 /**
 * @package Joomla.Site
 * @subpackage com_contact
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */
defined('_JEXEC') or die;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidation');
JHtml::_('behavior.tooltip');
 if (isset($this->error)) : ?>
<div class="contact-error">
<?php echo $this->error; ?>
</div>
<?php endif; ?>

<div class="contact-form">
<form id="contact-form" action="<?php echo JRoute::_('index.php'); ?>" method="post" class="form-validate">
<fieldset>
<legend><?php echo JText::_('COM_CONTACT_FORM_LABEL'); ?></legend>
<dl>
<dt><?php echo $this->form->getLabel('contact_name'); ?></dt>
<dd><?php echo $this->form->getInput('contact_name'); ?></dd>
<dt><?php echo $this->form->getLabel('contact_email'); ?></dt>
<dd><?php echo $this->form->getInput('contact_email'); ?></dd>
<dt><?php echo $this->form->getLabel('contact_subject'); ?></dt>
<dd><?php echo $this->form->getInput('contact_subject'); ?></dd>
<dt><?php echo $this->form->getLabel('contact_message'); ?></dt>
<dd><?php echo $this->form->getInput('contact_message'); ?></dd>
<?php if ($this->params->get('show_email_copy')){ ?>
<dt><?php echo $this->form->getLabel('contact_email_copy'); ?></dt>
<dd><?php echo $this->form->getInput('contact_email_copy'); ?></dd>
<?php } ?>
<?php //Dynamically load any additional fields from plugins. ?>
    <?php foreach ($this->form->getFieldsets() as $fieldset): ?>
         <?php if ($fieldset->name != 'contact'):?>
              <?php $fields = $this->form->getFieldset($fieldset->name);?>
              <?php foreach($fields as $field): ?>
                   <?php if ($field->hidden): ?>
                        <?php echo $field->input;?>
                   <?php else:?>
                        <dt>
                           <?php echo $field->label; ?>
                           <?php if (!$field->required && $field->type != "Spacer"): ?>
                              <span class="optional"><?php echo JText::_('COM_CONTACT_OPTIONAL');?></span>
                           <?php endif; ?>
                        </dt>
                        <dd><?php echo $field->input;?></dd>
                   <?php endif;?>
              <?php endforeach;?>
         <?php endif ?>
    <?php endforeach;?>
<dt></dt>
<dd><button class="button validate" type="submit"><?php echo JText::_('COM_CONTACT_CONTACT_SEND'); ?></button>
<input type="hidden" name="option" value="com_contact" />
<input type="hidden" name="task" value="contact.submit" />
<input type="hidden" name="return" value="<?php echo $this->return_page;?>" />
<input type="hidden" name="id" value="<?php echo $this->contact->slug; ?>" />
<?php echo JHtml::_( 'form.token' ); ?>
</dd>
</dl>
</fieldset>
</form>
</div>
« Последнее редактирование: 14.04.2012, 22:47:46 от user124 »
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
советую научиться пользоваться FireBug ом. Тогда многие вопросы отпадут
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
советую научиться пользоваться FireBug ом. Тогда многие вопросы отпадут
Да подсветил я с помощью FireBug код, вставил пробел, но так ничего и не изменилось.
Если можно, просто укажите в приведённом коде выше куда нужно вставить пробел?
« Последнее редактирование: 14.04.2012, 23:04:39 от user124 »
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
 ;D Извиняюсь, вообще я не туда смотрел. Я думал это форма обратной связи crazy!
components\com_users\views\registration\tmpl\default.php
у меня на 40 строке
Код: php
<dd><?php echo $field->input;?></dd>
заменить на
Код: php
<dd><?php echo $field->input;?>&nbsp;</dd>
Решение конечно не очень изящное, но работает.
Лучше все же переопределить шаблон вывода формы, нежели ковырять код Joomla
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
;D Извиняюсь, вообще я не туда смотрел. Я думал это форма обратной связи crazy!
components\com_users\views\registration\tmpl\default.php
у меня на 40 строке
Код: php
<dd><?php echo $field->input;?></dd>
заменить на
Код: php
<dd><?php echo $field->input;?>&nbsp;</dd>
Решение конечно не очень изящное, но работает.
Лучше все же переопределить шаблон вывода формы, нежели ковырять код Joomla

Да, спасибо! Всё работает. Но, как я понимаю при следующем обновлении cms снова придётся править код?
Переопределить шаблон вывода формы - что вы имели ввиду? (простите за такой вопрос, просто у меня немного другой профиль работы).
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
при следующем обновлении cms снова придётся править код?
Да. Чтобы этого избежать скопируйте файл default.php из components\com_users\views\registration\tmpl\ в ваш_шаблон\html\com_users\registration\
И измените его как я писал выше. Теперь после обновления Joomla, заново менять вывод не придется.
Желательно создавать в каждой папке пустой файл index.html.
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Да. Чтобы этого избежать скопируйте файл default.php из components\com_users\views\registration\tmpl\ в ваш_шаблон\html\com_users\registration\
И измените его как я писал выше. Теперь после обновления Joomla, заново менять вывод не придется.
Желательно создавать в каждой папке пустой файл index.html.
Ясно, спасибо! Но у меня в папке с шаблоном нет такого пути и таких папок (шаблон\html\com_users\registration\).
Думаю  при работе со стандартным модулем авторизации пользователей другого  варианта, кроме как каждый раз после обновления править код, не будет. Хотя, может что-то и подправят в коде Joomla, но я сомневаюсь.
Второй вариант это установить сторонний модуль авторизации пользователей, если знаете что-то подобное на русском, подскажите пожалуйста.
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Но у меня в папке с шаблоном нет такого пути и таких папок (шаблон\html\com_users\registration\).
Если нет, то нужно создать.
Цитировать
Второй вариант это установить сторонний модуль авторизации пользователей, если знаете что-то подобное на русском, подскажите пожалуйста.
http://extensions.joomla.org/extensions/access-a-security/site-access/authentication
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Если нет, то нужно создать.http://extensions.joomla.org/extensions/access-a-security/site-access/authentication

Как вы и посоветовали, в шаблоне создал данный путь и скопировал туда default.php. В коде Joomla вернул всё обратно и всё работает замечательно. Спасибо!

Остался последний вопрос: вы написали что в каталоге нужно ещё создавать пустой index.html, зачем это делать?
*

Pega

  • Захожу иногда
  • 388
  • 41 / 0
Чтобы не просматривался список всех файлов в этой папке. Защита "от дурака" такая.
*

user124

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Чтобы не просматривался список всех файлов в этой папке. Защита "от дурака" такая.

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

Проблема с логином на сайт через Iphone

Автор AdmiralSFF

Ответов: 4
Просмотров: 2660
Последний ответ 13.08.2022, 13:19:41
от AdmiralSFF
Проблема с переносом Joomla сайта с хостинга на денвер

Автор 62411

Ответов: 4
Просмотров: 2197
Последний ответ 21.02.2022, 20:22:11
от arma
Проблема Adobe Flash Player

Автор MamontFirst

Ответов: 5
Просмотров: 1584
Последний ответ 23.01.2021, 21:25:23
от MamontFirst
Проблема с редактированием материалов

Автор olesya

Ответов: 15
Просмотров: 3412
Последний ответ 12.07.2020, 12:46:06
от NataliS
Проблема со страницей "Общие настройки" - Joomla 2.5

Автор sultan7

Ответов: 20
Просмотров: 2902
Последний ответ 20.10.2019, 18:24:21
от sultan7