Новости Joomla

SW JProjects v.2.6.0 - компонент каталога расширений для Joomla

👩‍💻 SW JProjects v.2.6.0 - компонент каталога расширений для Joomla.Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам.👩‍💻 v.2.6.0. Что нового?Этот релиз прежде всего связан с SEO и AI-оптимизацией. - Микроразметка Schema.org.Добавлен плагин микроразметки Schema.org для сущностей компонента. Для списков используется ListItem, для страницы проекта и версии - SoftwareApplication, для страницы документации - TechArticle. Плагин группы schemaorg в отличие от стандартных плагинов заполняет данные автоматически, но встраивает данные в граф сущностей микроразметки Joomla. Также исправляется одна ошибка генерируемой ядром микроразметки в зоне ответственности компонента.- Улучшение поиска по ключам. В панели администратора в списке ключей теперь можно искать по номеру заказа, email, домену, содержимому примечания к ключу.- Список ключей в админке. В списке ключей в панели администратора добавлен вывод домена и примечания- Поиск в списке проектов. Поиск в списке проектов в панели администратора стал более точным. Из полей для поиска убраны лишние поля.Компонент работает на Joomla 6 без включённого плагина обратной совместимости.Страница расширения и скачатьGitHub расширения.Joomla Extensions Directory#joomla #расширения

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

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

vipex

  • Захожу иногда
  • 160
  • 1 / 0
Установка php кода reCapcha
« : 30.01.2017, 12:12:04 »
Код: php
 
<input type="hidden" name="urladr" value="<?php echo $urladr; ?>">

<div class="g-recaptcha" data-sitekey="публичный ключ"></div>

<?php
include("db.php");
session_start();

$msg='';
if($_SERVER["REQUEST_METHOD"] == "POST")
{
    $recaptcha=$_POST['g-recaptcha-response'];
    if(!empty($recaptcha))
    {
        include("getCurlData.php");
        $google_url="https://www.google.com/recaptcha/api/siteverify";
        $secret='секретный ключ';
        $ip=$_SERVER['REMOTE_ADDR'];
        $url=$google_url."?secret=".$secret."&response=".$recaptcha."&remoteip=".$ip;
        $res=getCurlData($url);
        $res= json_decode($res, true);
        //reCaptcha введена
        if($res['success'])
        {
            // Условие проверки CAPTCHA
        }
        else
        {
            $msg="Please re-enter your reCAPTCHA.";
        }

    }
    else
    {
        $msg="Please re-enter your reCAPTCHA.";
    }

}
?>

<input class="buttonform" id="buttonbackcall" type="button"  value="<?php echo JText::_('MOD_BACKCALL_BUTTONTEXT');  ?>" onclick="AjaxFormRequest('backcall_pretext', 'formMain', '<?php echo $pathmod ?>')" disabled="disabled" />


  </form>

При таком коде CAPTCHA появляется, но без ее прохождения форма отправляется.
Надо
<input class="buttonform" id="buttonbackcall" type="button"  value="<?php echo JText::_('MOD_BACKCALL_BUTTONTEXT');  ?>" onclick="AjaxFormRequest('backcall_pretext', 'formMain', '<?php echo $pathmod ?>')" disabled="disabled" />
вставить в поле "// Условие проверки CAPTCHA". Как это сделать? Вставляю, выдает ошибку
*

vipex

  • Захожу иногда
  • 160
  • 1 / 0
Re: Установка php кода reCapcha
« Ответ #1 : 30.01.2017, 14:26:54 »
Сделал так:

Код: php
if($res['success'])
{
?>
    <input class="buttonform" id="buttonbackcall" type="button" value="<?php echo JText::_('MOD_BACKCALL_BUTTONTEXT'); ?>" onclick="AjaxFormRequest('backcall_pretext', 'formMain', '<?php echo $pathmod ?>')" disabled="disabled" />
<?php
}

Но после прохождения CAPTCHA не появляется кнопка Заказать звонок
<input class="buttonform" id="buttonbackcall" type="button" value="<?php echo JText::_('MOD_BACKCALL_BUTTONTEXT'); ?>" onclick="AjaxFormRequest('backcall_pretext', 'formMain', '<?php echo $pathmod ?>')" disabled="disabled" />

Что это значит? Код не рабочий?
*

vipex

  • Захожу иногда
  • 160
  • 1 / 0
Re: Установка php кода reCapcha
« Ответ #2 : 30.01.2017, 17:20:54 »
Скачал готовый модуль с рекапчей

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

Код: php
<div id="joomly-callback" class="joomly-callback-main">
<div class="joomly-callback-caption" <?php if (isset($fields->color)){echo 'style="background-color:'.$fields->color.';"';};?>>
<div class="joomly-callback-cap"><h4 class="text-center"><?php if (!empty($fields->title_name)){echo $fields->title_name;}else {echo JText::_('MOD_JOOMLY_CALLBACK_TITLE_NAME_MODULE');};?></h4></div><div class="joomly-callback-closer"><i id="joomly-callback-close<?php if (isset($module->id)){echo $module->id;};?>" class="fa fa-close fa-1x"></i></div>
</div>
<div class="joomly-callback-body">
<form class="reg_form" action="<?php echo JFactory::getURI();?>" method="post" onsubmit="callback_validate(this);joomly_callback_analytics(<?php echo $module->id;?>);" enctype="multipart/form-data">
<div>
<p class="callback-text-center"><?php echo $form_message;?></p>
<?php if ((isset($fields->name)? $fields->name : 1)  == 1){?>
<div class="joomly-callback-div">
<input type="text" placeholder="<?php echo JText::_('MOD_JOOMLY_CALLBACK_NAME');if ((isset($fields->name_required)? $fields->name_required : 0)  == 1){echo "*";};?>" name="name" class="joomly-callback-field"<?php if ((isset($fields->name_required)? $fields->name_required : 0)  == 1){echo "required";};?> value="<?php if (isset($data['name'])){echo $data['name'];};?>">
</div>
<?php }?>
<div class="joomly-callback-div">
<input type="tel" placeholder="<?php echo JText::_('MOD_JOOMLY_CALLBACK_PHONE');?>*"  name="phone" class="joomly-callback-field" required value="<?php if (isset($data['phone'])){echo $data['phone'];};?>">
</div>

<?php if ((isset($fields->captcha)? $fields->captcha : 1)  == 1){?>
<div class="joomly-callback-div">
<div class="g-callback-recaptcha" data-sitekey="<?php if (isset($fields->captcha_sitekey)){echo $fields->captcha_sitekey;}?>"></div>
</div>
<?php }?>
<input type="hidden" name="page" value="<?php echo urldecode($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);?>" />
<input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR'];?>" />
<input type="hidden" name="created_at" value="<?php echo $date->format('Y-m-d H:i:s');?>" />
<input type="hidden" name="cur_time" id="cur-time<?php if (isset($module->id)){echo $module->id;};?>" value="<?php echo $form;?>" />
<input type="hidden" name="module_id" value="<?php echo $module->id;?>" />
<input type="hidden" name="module_hash" value="<?php echo JUserHelper::getCryptedPassword(JFactory::getURI()->toString());?>" />
<input type="hidden" name="title_name" value="<?php if (!empty($fields->title_name)){echo $fields->title_name;}else {echo JText::_('MOD_JOOMLY_CALLBACK_TITLE_NAME_MODULE');};?>" />
<input type="hidden" name="option" value="com_joomlycallback" />
<input type="hidden" name="task" value="add.save" />
<?php echo JHtml::_('form.token'); ?>
</div>
<div>
<button class="button-joomly-callback-lightbox" type="submit"  value="save" <?php if (isset($fields->color) && ($fields->color !== "#21ad33")){echo 'style="background-color:'.$fields->color.';"';};?> id="button-joomly-callback-lightbox<?php if (isset($module->id)){echo $module->id;};?>"><?php if (!empty($fields->button_lightbox_caption)){ echo $fields->button_lightbox_caption;} else {echo JText::_('MOD_JOOMLY_CALLBACK_SEND');}; ?></button>
</div>
</form>
<div class="tel"><?php echo JText::_('MOD_JOOMLY_CALLBACK_TEL');?></div>
</div>
</div>
<?php if ((isset($fields->button_form)? $fields->button_form : 1)  > 0){?>
<div>
<button class="button-joomly-callback-form joomly-callback" type="submit"   value="save"><?php if (!empty($fields->button_form_caption)){ echo $fields->button_form_caption;} else {echo  JText::_('MOD_JOOMLY_CALLBACK_CALL_TO_US');};?></button>
</div>
<?php }?>
<div class="special-alert" id="special-alert<?php if (isset($module->id)){echo $module->id;};?>">
<div class="joomly-callback-caption" style="background-color:<?php echo $alert_message_color;?>">
<div class="joomly-callback-cap"><h4 class="callback-text-center"><?php if (isset($alert_headline_text)){echo $alert_headline_text;};?></h4></div><div class="joomly-callback-closer"><i id="callback-alert-close<?php if (isset($module->id)){echo $module->id;};?>" class="fa fa-close fa-1x"></i></div>
</div>
<div class="joomly-alert-body">
<p class="callback-text-center"><?php if (isset($alert_message_text)){echo $alert_message_text;};?></p>
</div>
</div>
<script type="text/javascript">
var callback_module_id = <?php if ($module->id!==null){echo $module->id;} else { echo "0";};?>,
type_field = "<?php echo JText::_('MOD_JOOMLY_CALLBACK_TYPE_FIELD');?>";
captcha_error = "<?php echo JText::_('MOD_JOOMLY_CALLBACK_CAPTCHA_ERROR');?>";
var callback_params = callback_params || [];
callback_params[callback_module_id] = <?php echo json_encode($callback_params);?>;
var callback_popup = document.getElementById("joomly-callback");
document.body.appendChild(callback_popup);
call_callback();
</script>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

reCapcha во всплывающем окне - "Ошибка защиты от спама"

Автор Dannik

Ответов: 12
Просмотров: 2637
Последний ответ 14.09.2023, 18:59:24
от all_zer
Установка виджета ПОС епгу

Автор ermolina.t

Ответов: 1
Просмотров: 868
Последний ответ 26.06.2023, 16:01:29
от sergeytolkachyov
Вернуть слайдер после работы с модулем html кода

Автор Jenik1245

Ответов: 0
Просмотров: 787
Последний ответ 30.05.2023, 14:15:58
от Jenik1245
Установка на локаль ((mamp))

Автор algor

Ответов: 2
Просмотров: 1017
Последний ответ 17.05.2023, 17:19:13
от arma
SberPay: (эквайринг от Сбербанка) установка - мнения

Автор shop-user

Ответов: 1
Просмотров: 697
Последний ответ 30.03.2023, 21:18:40
от marksetter