Новости Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

👩‍💻 Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla.v.6.1.0 Что нового?Модуль корзины. Отображение корзины в виде offcanvas-элемента.Кнопка выхода в панели управления пользователя. Что тут сказать, просто добавили. Отправка писем только для заказов, оплаченных определёнными способами. Это удобно для рассылки сообщений, привязанных к региону или провайдеру (например, инструкции по банковскому переводу только для заказов, оплаченных банковским переводом).Листинг выплат по партнерской системе. В разделе управления партнёрскими программами появилось новое подменю «Выплаты», в котором перечислены выплаты партнёрам (упрощённое отслеживание и сверка). Добавлены настройки, благодаря которым можно определить категории товаров, на которые начисляется партнёрская комиссия с продаж.Список комплектов товаров. Система комплектов позволяет отслеживать остатки товаров, продаваемых в комплекте.Подробнее в блоге Hikashop.Поскольку мы не сообщали ранее о Hikashop 6.0, то вкратце скажем, что он вышел в июне 2025г. В новой версии было:- 13 исправлений ошибок- 17 улучшений. В частности:- - Hikashop теперь проверяет UserAgent пользователя перед добавлением товара в корзину, чтобы отсечь ботов. Ведь компонент хранит корзины в базе данных.- - улучшен роутинг компонента, позволяющий использовать в названии товара даже слеши.- - улучшения фильтра товаров - ускорение загрузки категорий/брендов/характеристик.- 4 новых функции:- - добавлена поддержка Joomla 6.0.- - Улучшена возможность адаптации форм HikaShop на фронтенде к шаблонам, не использующим стандартные классы Joomla.- - Плагин внутреннего баланса: возможность исключить уцененные товары из начисленных баллов.- - Теперь можно выбирать склады для вариантов товаров.Подробнее в Changelog Hikashop.Также при работе с Hikashop стоит учитывать, что один и тот же код поддерживает версии Joomla от 3.х до 5.х, а в таблице сравнения версий заявлена и Joomla 2.5. Беглый просмотр кода показал, что компонент как был, так и остался старым и для совместимости с Joomla 4+ просто добавлен плагин.@joomlafeed#joomla #расширения #hikashop

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

kompado

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Добрый день.

Как можно отправить данные формы на почту через Joomla?
Хостинг бесплатный и не поддерживает функцию mail
Форма вставлена в сам шаблон

Код
					<form class="m1-form" action="post.php" method="post">
<h2>ЗАКАЖИ СЕЙЧАС</h2>
                        <input type="text" name="name" placeholder="Введите Имя" required="">
                        <input type="text" name="phone" placeholder="Введите телефон" required="">
                        <button type="submit" class="buy">Заказать со скидкой</button>
                        <p>
+ получить клатч в подарок
</p>
<input type="hidden" name="quantity" value="1" />
<input type="hidden" name="timeShift" id="timeShift" value="" />
<input type="hidden" name="hash" id="hash" value="1f601578dd4f2bb5850260b2306e076ef9c9cdbd" /> <span style="display:none" id="goodPrice"></span>
<span style="display:none" id="fullPrice"></span>
<span style="display:none" id="CountryId">175</span>
<input type="hidden" id="goodArticle" name="goodArticle" value="" />
                    </form>

В корне сайта создал файл post.php ДЛЯ ПРОВЕРКИ ОТПРАВКИ со следующим содержанием:
Код
<?php

//получаем настройки сайта
$config = & JFactory::getConfig();
//Получаем экземпляр класса JMail
$mailer = JFactory::getMailer();
//Указываем что письмо будет в формате HTML
$mailer->IsHTML( true );
//Указываем отправителя письма
$mailer->setSender( array( $config->get( 'config.mailfrom' ), $config->get( 'config.fromname' ) ) );
//указываем получателя письма
$mailer->addRecipient( 'admin@site.ru' );
//Добавляем текст письма
$mailer->setBody('<h1>Hello User!</h1>');
//Отправляем письмо
$mailer->send();
?>

В итоге ошибка:
Fatal error: Uncaught Error: Class 'JFactory' not found in /home/s/s25845m/s25845m.beget.tech/public_html/post.php:4 Stack trace: #0 {main} thrown in /home/s/s25845m/s25845m.beget.tech/public_html/post.php on line 4
« Последнее редактирование: 09.10.2017, 13:05:31 от kompado »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
заплатить 100 рублей за месяц и не извращаться )
либо на каком-то своем платном хостинге положить файлик-отправщик, которому из формы передавать данные.
*

kompado

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
заплатить 100 рублей за месяц и не извращаться )
либо на каком-то своем платном хостинге положить файлик-отправщик, которому из формы передавать данные.

На платный хостинг из-за одной функции))
Сама Joomla отправляет почту через установленные компоненты (через SMTP)
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Несколько месяцев назад как раз писал скрипт для отправки данных через движок, проверял на beget, все работает, если хочешь, скину.
*

kompado

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Несколько месяцев назад как раз писал скрипт для отправки данных через движок, проверял на beget, все работает, если хочешь, скину.

Скинь, пожалуйста
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Вот сайт:
http://xn--e1aocufo.xn--p1ai/kontakty/napisat-nam
Хостится на beget на бесплатном тарифе, есть самописная рабочая форма обратной связи. На движке должен быть корректно настроен SMTP, так как отправки идет посредством функционала движка.

Вот скрипт отправки send.php:
Код
<?php

$imya = $_POST['imya'];
$imya = htmlspecialchars($imya);
$imya = urldecode($imya);
$imya = trim($imya);

$telefon = $_POST['telefon'];
$telefon = htmlspecialchars($telefon);
$telefon = urldecode($telefon);
$telefon = trim($telefon);

$pochta = $_POST['pochta'];
$pochta = htmlspecialchars($pochta);
$pochta = urldecode($pochta);
$pochta = trim($pochta);

$tekst = $_POST['tekst'];
$tekst = htmlspecialchars($tekst);
$tekst = urldecode($tekst);
$tekst = trim($tekst);


define('_JEXEC', 1);
define('JPATH_BASE', __DIR__);

// Load system defines
if (file_exists(JPATH_BASE . '/defines.php'))
{
    require_once JPATH_BASE . '/defines.php';
}

if (!defined('_JDEFINES'))
{
    require_once JPATH_BASE . '/includes/defines.php';
}

// Get the framework.
require_once JPATH_LIBRARIES . '/import.legacy.php';

// Bootstrap the CMS libraries.
require_once JPATH_LIBRARIES . '/cms.php';


//получаем настройки сайта
$config = & JFactory::getConfig();
//Получаем экземпляр класса JMail
$mailer = JFactory::getMailer();
//Указываем что письмо будет в формате HTML
$mailer->IsHTML( true );
//Указываем отправителя письма
$mailer->setSender( array( 'centum174@gmail.com', 'CENTUM ' ) );
//указываем получателя письма
$mailer->addRecipient( 'centum174@gmail.com' );
//Добавляем текст письма
$mailer->setSubject("+$telefon $imya");
// Добавояем тему письма
$mailer->setBody( "Электронный адрес: $pochta <br /> Сообщение: $tekst" );
//Отправляем письмо
$mailer->send();
if ($send !== true) {
header("Location: index.php/home/uspeh");
} else {
header("Location: index.php/home/neudacha");
}
?>

Вот форма:
Код
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script src="/jquery.maskedinput.min.js"></script>
<script>
$(function(){
  $("#phone").mask("+7 (999) 999-99-99");
});
</script>
<script type="text/javascript">
   function agreeForm(f) {
    // Если поставлен флажок, снимаем блокирование кнопки
    if (f.agree.checked) f.submit.disabled = 0
    // В противном случае вновь блокируем кнопку
    else f.submit.disabled = 1
   }
</script>

<div data-uk-scrollspy="{cls:'uk-animation-slide-top'}" style="display: table; margin: 0 auto;">
<h1 style="text-align: center; text-shadow: white 0px 0px 10px; margin-top: 0px; margin-bottom: 50px;">Написать нам</h1>
<form action="/send.php" method="post" class="uk-form" data-uk-margin="{cls:'uk-margin-top'}">
<input maxlength="20" style="border-color: #f00;" name="imya" class="uk-form-width-medium" type="text" placeholder="Ваше имя" required /><br />
<input style="border-color: #f00;" name="telefon" id="phone" class="uk-form-width-medium" type="tel" placeholder="Контактный телефон" required /><br />
<input style="border-color: #aaa;" name="pochta" class="uk-form-width-medium" type="email" placeholder="Электронная почта" /><br />
<textarea style="border-color: #4fd389; height: 200px;" name="tekst" class="uk-form-width-large" type="text" placeholder="Сообщение" required /></textarea><br />
<input type="checkbox" name="agree" onclick="agreeForm(this.form)"> <span style="text-shadow: white 0 0 10px;">Даю согласие на обработку персональных данных<br />в соответствии с <a title="Оферта" href="http://центум.рф/kontakty/politika-obrabotki-personalnykh-dannykh" target="_blank" rel="noopener noreferrer">Пользовательским соглашением</a></span><br />
<input type="submit" name="submit" value="Отправить" onclick="this.parentNode.submit();" disabled>
</form>

</div>

Если что непонятно, спрашивай.

P. S. jquery.maskedinput.min.js это плагин с просторов сети, добавляющий маску для поля телефон.
*

kompado

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Спасибо!
Сейчас буду пробовать.
По результату отпишусь
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Спасибо!
Сейчас буду пробовать.
По результату отпишусь

Вообще, тебе сколько полей надо в форме и каких? Если что у меня есть компонент нормальный, для формы обратной связи, учитывающий требования об обработке персональных данных. В том варианте что выше скинул, много лишнего для твоего сайта, легче с нуля написать или использовать компонент.
« Последнее редактирование: 09.10.2017, 15:44:06 от dm-krv »
*

kompado

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Вообще, тебе сколько полей надо в форме и каких? Если что у меня есть компонент нормальный, для формы обратной связи, учитывающий требования об обработке персональных данных. В том варианте что выше скинул, много лишнего для твоего сайта, легче с нуля написать или использовать компонент.

2 поля всего, но форма в самом шаблоне
Код попробую в свою форму добавить, убрав лишнее
« Последнее редактирование: 09.10.2017, 16:53:26 от kompado »
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
2 поля всего, но форма в самом шаблоне (скопированный лендинг ))
Код попробую в свою форму добавить, убрав лишнее

Тогда не майся дурью, есть простое как топор рабочее решение, главное что бы лендинг твой на движке был. Он же на Joomla? Если да, то скину способ.
*

kompado

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Тогда не майся дурью, есть простое как топор рабочее решение, главное что бы лендинг твой на движке был. Он же на Joomla? Если да, то скину способ.

Да, на Joomla 3.8
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Да, на Joomla 3.8

Есть такой компонент:
http://joomly.ru/modul-obratnogo-zvonka
Качаешь бесплатную версию и убираешь водяной знак, либо покупаешь платную.

Водяной знак можно убрать в файле /modules/mod_joomly_callback/tmpl/default.php
74-ая строка:
<div class="tel"><?php echo JText::_('MOD_JOOMLY_CALLBACK_TEL');?></div>
Заменить на <br />

После установки компонента компонент, в настройках указываешь, что показывать кнопку не надо:
Какой элемент показывать на форме? => Никакой
Выводишь его в какой-нибудь позиции, например в debug. Далее, на самом сайте, в нужном тебе место просто вставляешь кнопку вызова:
<button class="button-joomly-callback-form joomly-callback" type="submit" value="save">НАЗВАНИЕ КНОПКИ</button>
Кнопку можно без проблем и в сам шаблон воткнуть.

Внутри кнопки можешь дописать стили настров внешний вид как тебе надо, например:
<button style="border-radius: 5px;" class="button-joomly-callback-form joomly-callback" type="submit" value="save">ЗАКАЗАТЬ</button>

Пример использования здесь:
http://xn--e1aocufo.xn--p1ai/
Смотри ближе к концу страницы, кнопка заказа звонка.

Или тебе надо не в виде кнопки, но в виде формы?
*

kompado

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Спасибо большое! Выручил.

Сделал так:
Код
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script src="/jquery.maskedinput.min.js"></script>
<script>
$(function(){
  $("#phone").mask("+7 (999) 999-99-99");
});
</script>


<form class="m1-form" action="/send.php" method="post">
<h2>ЗАКАЖИ СЕЙЧАС</h2>
                        <input type="text" name="imya" placeholder="Введите Имя" required="">
                        <input type="text" name="telefon" id="phone" placeholder="Введите телефон" required="">
                        <button type="submit" class="buy" onclick="this.parentNode.submit()">Заказать со скидкой</button>
                        <p>
+ получить клатч в подарок
</p>
<input type="hidden" name="quantity" value="1" />
<input type="hidden" name="timeShift" id="timeShift" value="" />
<input type="hidden" name="hash" id="hash" value="1f601578dd4f2bb5850260b2306e076ef9c9cdbd" /> <span style="display:none" id="goodPrice"></span>
<span style="display:none" id="fullPrice"></span>
<span style="display:none" id="CountryId">175</span>
<input type="hidden" id="goodArticle" name="goodArticle" value="" />
                    </form>

В корне сайта создал send.php
Код
<?php

$imya = $_POST['imya'];
$imya = htmlspecialchars($imya);
$imya = urldecode($imya);
$imya = trim($imya);

$telefon = $_POST['telefon'];
$telefon = htmlspecialchars($telefon);
$telefon = urldecode($telefon);
$telefon = trim($telefon);

define('_JEXEC', 1);
define('JPATH_BASE', __DIR__);

// Load system defines
if (file_exists(JPATH_BASE . '/defines.php'))
{
    require_once JPATH_BASE . '/defines.php';
}

if (!defined('_JDEFINES'))
{
    require_once JPATH_BASE . '/includes/defines.php';
}

// Get the framework.
require_once JPATH_LIBRARIES . '/import.legacy.php';

// Bootstrap the CMS libraries.
require_once JPATH_LIBRARIES . '/cms.php';


//получаем настройки сайта
$config = & JFactory::getConfig();
//Получаем экземпляр класса JMail
$mailer = JFactory::getMailer();
//Указываем что письмо будет в формате HTML
$mailer->IsHTML( true );
//Указываем отправителя письма
$mailer->setSender( array( '*******@mail.ru', 'Time Premium' ) );
//указываем получателя письма
$mailer->addRecipient( 'admin@*****.ru' );
//Добавляем текст письма
$mailer->setSubject("+$telefon $imya");
// Добавояем тему письма
$mailer->setBody( "Электронный адрес: '*******@mail.ru' <br /> Сообщение: 'Заказ часов Emporio Armani' " );
//Отправляем письмо
$mailer->send();
if ($send !== true) {
header("Location: index.php/home/uspeh");
} else {
header("Location: index.php/home/neudacha");
}
?>


ВСЁ РАБОТАЕТ  :D
« Последнее редактирование: 09.10.2017, 16:52:30 от kompado »
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Рад за тебя) Только закинь в корень сайта следующий файл.

http://my-files.ru/6rt87w

Это плагин добавляющий маску вида +7 (999) 999-99-99 к полю с id= "phone"

Если же без маски делаешь, то удали скрипт в начале формы и убери плюсик в файле send.php вот тут
$mailer->setSubject("+$telefon $imya");
« Последнее редактирование: 09.10.2017, 16:56:17 от dm-krv »
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
И еще, у тебя нет проверки проставлена галочка в согласии на обработку или нет, а значит вот этот элемент лишний, удаляй его нафиг: onclick="this.parentNode.submit()"
*

kompado

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Благодарю.
Сейчас всё работает как надо. Маску немного изменил, чтоб не сбрасывались введённые цифры при нажатии на другую область экрана:
Код
$("#phone").mask("+7 (999) 999-99-99",{autoclear: false});
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Валидация формы с загрузкой файлов на сервер

Автор kuliev

Ответов: 4
Просмотров: 854
Последний ответ 17.01.2025, 14:38:44
от kuliev
Замена данных сайта на данные поддомена

Автор rezchik

Ответов: 5
Просмотров: 1005
Последний ответ 05.02.2024, 11:45:36
от web1
Тип поля формы Select sql, как заполнить его через функцию php?

Автор GuDeVic

Ответов: 13
Просмотров: 1575
Последний ответ 07.10.2022, 12:25:45
от fsv
Joomla не отправляет почту при регистрации

Автор Mick_20

Ответов: 1
Просмотров: 641
Последний ответ 20.12.2021, 08:46:13
от wishlight
jQuery. Передать значение в поле формы Битрикс24

Автор fbr

Ответов: 40
Просмотров: 2563
Последний ответ 21.11.2021, 12:05:18
от gartes