Новости Joomla

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные...

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени. Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎Читать пост на Хабре#joomla #php #разработка #webdev

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки

/tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля -
default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.
Страница расширенияGitHub#расширения #virtuemart #JoomShopping

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

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Доброго дня всем!

Вопрос не срочный, но тем не менее любопытство не отпускает!
В форме "Задать вопрос по товару" в textarea хотелось бы запретить ввод любых латинских символов (в первую очередь ссылок: http, https, www и т.п).
В текстовых полях вопрос решается просто с помощью паттерна (например: поле name - pattern="^[А-Яа-яЁё\s]+$"). Но в textarea паттерн, естественно, не работает.
JS обойдет любой робот, использовать капчу очень не хочется, тем более, что толку от нее тоже немного. остается PHP!

Код поля textarea выглядит следующим образом:
<textarea title="<?php echo vmText::sprintf('COM_VIRTUEMART_ASK_COMMENT', $min, $max)?>" class="validate[required,minSize[<?php echo $min ?>],maxSize[<?php echo $max ?>]] field" id="comment" name="comment" rows="8"><?php echo $sessData['comment']; ?></textarea>

По идее, нужно изменить фрагмент кода: <?php echo $sessData['comment']; ?>
На приблизительно такой:

<?php $message = $sessData['comment'];
      if (!empty($message)) {
        if (preg_match("/(http|https|www)/i", $message)) {
           echo 'spam!';
        } else {
           echo $message;
         }
      } ?>


Но не работает! Форма "благополучно" отправляется, не обращая внимания на preg_match.

Что-то я пропустил, но пока не нашел.
Может кому-нибудь этот вопрос тоже покажется заслуживающим внимания?

PS, тестирую VM4 в связке с Joomla 4.
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Цитировать
Но не работает! Форма "благополучно" отправляется, не обращая внимания на preg_match.
Так это же обработка на сервере сообщения из сессии перед отрисовкой формы. Чтобы сразу отобразить в форме это сообщение, если оно было. А если не было, и вы в форме написали новое, оно и отправится.
И зачем отправлять сообщение "spam"? Это же все равно спам.  ;)

Переопределите макет, удалите из формы токен.
Код
<?php echo JHTML::_( 'form.token' ); ?>
После формы добавьте что-то вроде этого:
Код
<script>
    jQuery(function($){
        setTimeout(function() {
            $('#askform').append('<?php echo JHtml::_('form.token'); ?>');
        }, 3000);
    });
</script>
От спама до сих пор мне хватало, на разных сайтах, в разных компонентах. Только проверить надо, чтобы в контролере проверка токена была, иногда в сторонних расширениях много "удивительного". Спамят обычно скриптом, токена на момент отправки в форме не будет, проверку на сервере не пройдет.

Запрет на латинские символы нужен не сам по себе, а именно от спама? Если сам по себе, дописать js на событие input в этой textarea.
Веб-разработка: заказ. Только новая разработка.
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Спасибо!
То есть Вы предлагаете временную задержку и этого вполне должно хватить, чтобы бот не видел форму.
Скорее всего это будет работать, но в "боевом" режиме можно будет проверить только на уже работающем сайте.
Запрет на латинские символы в textarea сам по себе не нужен, вопрос только связан с ссылками, которые сюда  прописывают.
В любом случае еще раз спасибо (+). Обязательно попробую.

PS, сообщать, что это спам, я, естественно, не собирался ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка По наличию товара - сначала По убыванию в VirtueMart

Автор rsn

Ответов: 7
Просмотров: 3198
Последний ответ 10.04.2025, 01:19:37
от strongest
Доработать VirtueMart 3

Автор eclipseggg

Ответов: 1
Просмотров: 5603
Последний ответ 01.10.2021, 19:28:53
от varX
Как в RSS ленту VirtueMart 3 добавить дополнительные изображения товара?

Автор Slava77

Ответов: 2
Просмотров: 2753
Последний ответ 06.06.2021, 01:12:01
от Slava77
[Решено] Список товаров на главной VirtueMart

Автор vitoxa_ya

Ответов: 6
Просмотров: 9993
Последний ответ 21.10.2020, 23:27:08
от alfa212
Вопрос по скриптам VirtueMart

Автор Viclingvolive

Ответов: 0
Просмотров: 665
Последний ответ 03.11.2019, 22:08:25
от Viclingvolive