Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за 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

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

Edward

  • Осваиваюсь на форуме
  • 30
  • 2 / 0
Всем привет!

Требуется сделать контактную форму на странице товара. _http://forum.virtuemart.net/index.php?topic=61872.30 Здесь нашел модификацию - выводится ask_seller в flypage.tpl. Модифицировал код на

Код
	<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
/*
* flypage-ask-inline.tpl.php version 1.0b
*  Copyright (C) 2009 Rick Baer - All rights reserved.
*/
?>

<script type="text/javascript"><!--
// AJAX handler for sending "Ask a question about this product" email

function handleAskProdQuest( formId, parameters ) {
formEmail = document.getElementById( formId );

var respMsg = parameters;

var callback = function(responseText) {

// close an existing mooPrompt box first, before attempting to create a new one (thanks wellsie!)
if (document.boxB) {
document.boxB.close();
clearTimeout(timeoutID);
}

// Prepare response message
if (responseText.indexOf('>Success<') > 0) {
responseText = respMsg;
//document.getElementById('ask_inline').style.display='none';
} else {
responseText = 'Your product question was not emailed due to an internal error';
};

document.boxB = new MooPrompt(notice_lbl, responseText, {
buttons: 1,
width:400,
height:150,
overlay: false,
button1: ok_lbl
});

setTimeout( 'document.boxB.close()', 5000 );
}

var opt = {
    // Use POST
    method: 'post',
    // Send this lovely data
    data: $(formId),
    // Handle successful response
    onComplete: callback,
   
    evalScripts: true
}

new Ajax(formEmail.action, opt).request();
}

--></script>


<h3 style="margin-top:0px; text-align:center; width:100%; display:block; color:#fe8500;"><?php echo $ask_seller_text; ?></h3>

   
  <div id="ask_inline" class="ask_inline" >

<form action="<?php echo $mm_action_url ?>index.php" method="post" name="emailForm" id="emailForm" onsubmit="validateEnquiryForm(this.id); return false;">
<label for="contact_name"><?php echo $VM_LANG->_('NAME_PROMPT')?></label><br />
<input type="text" name="name" id="contact_name" size="60" class="inputbox" value="<?php echo $my->name; ?>"><br />

<label for="contact_mail"><?php echo $VM_LANG->_('EMAIL_PROMPT')?></label><br />
<input type="text" id="contact_mail" name="email" size="60" label="Your email" class="inputbox" value="<?php echo $my->email; ?>"><br />

<label for="contact_text"><?php echo $VM_LANG->_('MESSAGE_PROMPT')?></label><br />
<textarea rows="10" cols="60" name="text" id="contact_text" class="inputbox"><?php echo $subject ?></textarea><br /><br />

<input type="submit" name="send" value="<?php echo $VM_LANG->_('SEND_BUTTON')?>" class="button" />
&nbsp; &nbsp; 
<input type="button" name="cancel" class="button" value="<?php echo $VM_LANG->_('CMN_CANCEL'); ?>"  onclick="document.getElementById('ask_inline').style.display='none'; return false;">


<input type="hidden" name="product_id" value="<?php echo $product_id  ?>" />
<input type="hidden" name="product_sku" value="<?php echo $product_sku  ?>" />
<input type="hidden" name="set" value="1" />
<input type="hidden" name="func" value="productAsk" />
<input type="hidden" name="page" value="shop.ask" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="flypage" value="<?php echo $flypage ?>" />
<input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" />

<input type="hidden" name="<?php echo $validate ?>" value="1" />
</form>
<script type="text/javascript"><!--


function validateEnquiryForm(form_id) {
if ( document.emailForm.text.value == "" ) {
alert( "<?php echo $VM_LANG->_('CONTACT_FORM_NC',false); ?>" );
} else {
document.emailForm.action = "<?php echo sefRelToAbs("index.php"); ?>"
handleAskProdQuest(form_id,"<?php echo $VM_LANG->_('THANK_MESSAGE')?>"); // AJAX request
}
}
--></script>

  </div>

сообщения отправляются только при полном заполнении всех полей. хотя, проверку e-mail закоментировал. возможно, проверка осуществляется где-то еще? куда копать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сумма корзины на главной странице

Автор andreylc

Ответов: 6
Просмотров: 2002
Последний ответ 30.05.2018, 11:13:43
от andreylc
Вывод товара из дочерних категорий в родительскую

Автор B0nG

Ответов: 0
Просмотров: 2957
Последний ответ 03.08.2014, 15:13:57
от B0nG
ID товара вместо cdata

Автор newsky

Ответов: 0
Просмотров: 2641
Последний ответ 01.07.2014, 13:05:12
от newsky
Расширенный Ajax-поиск по характеристикам товара VirtueMart

Автор Arkadiy

Ответов: 990
Просмотров: 213578
Последний ответ 27.06.2014, 16:47:52
от DeLight
Не могу убрать форму "Задайте вопрос..." на странице товара

Автор abrodski

Ответов: 1
Просмотров: 2786
Последний ответ 20.05.2014, 14:30:44
от abrodski