Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Всем привет!

После установка модуля донаты белый экран (сама админка работает).

Ошибки: "Notice: Constant _JEXEC already defined in /var/www/u0480012/data/www/bavtest.website/helper.php on line 2

Notice: Constant JPATH_BASE already defined in /var/www/u0480012/data/www/bavtest.website/helper.php on line 9
Вы не выбрали товар"

Код
<?php
define("_JEXEC",1);
if(!defined("DS")){
define("DS", DIRECTORY_SEPARATOR);
}

$dirname = str_replace("plugins".DS."system".DS."js_oneclickcheckout", "", dirname(__FILE__));

define("JPATH_BASE", $dirname);

В чем может быть проблема? куда копать?
« Последнее редактирование: 13.11.2020, 11:18:14 от stitch808 »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
После установка модуля донаты белый экран (сама админка работает).
Включите отладку системы

Константа _JEXEC уже задаётся в файле index.php в корне сайта
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Включите отладку системы

Константа _JEXEC уже задаётся в файле index.php в корне сайта

Отладку системы включил.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Скиньте название модуля!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Скиньте название модуля!
OSDonate – модуль для сбора денег (доната) с сайта Joomla
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Код
<?php
define("_JEXEC",1);
if(!defined("DS")){
define("DS", DIRECTORY_SEPARATOR);
}

$dirname = str_replace("plugins".DS."system".DS."js_oneclickcheckout", "", dirname(__FILE__));

define("JPATH_BASE", $dirname);
От куда вы взяли этот код?


Отладку системы включил.
И она ничего не показывает?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
От куда вы взяли этот код?

И она ничего не показывает?

1) из файла helper.php, на который указывает ошибка и строка 2
Код
define("_JEXEC",1);
, строка 7
Код
define("JPATH_BASE", $dirname);
как я понимаю.

2) откладка системы никак не повлияла на отображении ошибки
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Покажите файл /var/www/u0480012/data/www/bavtest.website/helper.php
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Покажите файл /var/www/u0480012/data/www/bavtest.website/helper.php
Код
<?php
define("_JEXEC",1);
if(!defined("DS")){
define("DS", DIRECTORY_SEPARATOR);
}

$dirname = str_replace("plugins".DS."system".DS."js_oneclickcheckout", "", dirname(__FILE__));

define("JPATH_BASE", $dirname);

require_once(JPATH_BASE.DS."includes".DS."defines.php");
require_once(JPATH_BASE.DS."includes".DS."framework.php");
$app = JFactory::getApplication("site");
$app->initialise();
define("JPATH_COMPONENT_SITE",JPATH_SITE."/components/com_jshopping");

$plugin=JPluginHelper::getPlugin("system", "js_oneclickcheckout");
$paramsplug = new JRegistry;
$paramsplug->loadString($plugin->params);
if($paramsplug->get("debug")==1){
ini_set("error_reporting", E_ALL);
ini_set("display_errors", 1);
ini_set("display_startup_errors", 1);
}

function getJsDate_on($date = 'now', $format = 'Y-m-d H:i:s', $local = true){
$config = JFactory::getConfig();
$date = JFactory::getDate($date, $config->get("offset"));
return $date->format($format, $local);
}

$success = false;

if($paramsplug->get("psevdopayment") == 1 && $paramsplug->get("psevdopaymentitems")!= ""){
$virtuemart_paymentmethod_id = JRequest::getint("virtuemart_psevdopaymentmethod_id", 0) - 1;
} else {
$virtuemart_paymentmethod_id = JRequest::getint("virtuemart_paymentmethod_id",0);
}

if($paramsplug->get("psevdoshipment") == 1 && $paramsplug->get("psevdoshipmentitems")!= ""){
$virtuemart_shipmentmethod_id = JRequest::getint("virtuemart_psevdoshipmentmethod_id", 0) - 1;
} else {
$virtuemart_shipmentmethod_id = JRequest::getint("virtuemart_shipmentmethod_id", 0);
}
$type = trim(JRequest::getVar("type"));
$adres = trim(JRequest::getVar("adres"));
$price = str_replace(" ", "", trim(JRequest::getVar("price")));
$senderName = trim(JRequest::getVar("senderName"));
$comment = trim(JRequest::getVar("comment"));

if($virtuemart_paymentmethod_id > -1 && $paramsplug->get("psevdopayment") == 1){
$items = explode(";", $paramsplug->get("psevdopaymentitems"));
$comment .= "\n Способ оплаты: ".$items[$virtuemart_paymentmethod_id];
}

if($virtuemart_shipmentmethod_id > -1 && $paramsplug->get("psevdoshipment") == 1){
$items = explode(";", $paramsplug->get("psevdoshipmentitems"));
$comment .= "\n Способ доставки: ".$items[$virtuemart_shipmentmethod_id];
}

$senderEmail = trim(JRequest::getVar("senderEmail"));
$phone = trim(JRequest::getVar("message"));
$senderEmail = isset($senderEmail)? preg_replace("/[^\.\-\_\[member=59523]a[/member]-zA-Z0-9]/", "", $senderEmail) : "";
$phone = isset($phone)? preg_replace("/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/","", $phone) : "";
$url = trim(JRequest::getVar("url"));
$urlName = trim(JRequest::getVar("urlName"));
$data = JRequest::getVar("data");
parse_str($data, $dataarr);
$user = JFactory::getUser();
$db = JFactory::getDbo();

if(!file_exists(JPATH_BASE.DS."components".DS."com_jshopping".DS."jshopping.php")){
JError::raiseError(500,"Please install component \"joomshopping\"");
}

jimport("joomla.application.component.controller");
jimport("joomla.application.component.model");
JTable::addIncludePath(JPATH_SITE."/components/com_jshopping/tables");
jimport("joomla.application.component.model");
JModelLegacy::addIncludePath(JPATH_SITE."/components/com_jshopping/models");
require_once(JPATH_SITE."/components/com_jshopping/lib/factory.php");
require_once(JPATH_SITE."/components/com_jshopping/lib/functions.php");
$mainframe = JFactory::getApplication();
$jshopConfig = JSFactory::getConfig();
$tag = $jshopConfig->defaultLanguage;
$lang = JSFactory::getLang($tag);
JSFactory::loadLanguageFile($tag);
$dispatcher = JDispatcher::getInstance();
$checkout = JModelLegacy::getInstance("checkout","jshop");
$name_order = $paramsplug->get("name");
$email_order = $paramsplug->get("email");
$phone_order = $paramsplug->get("phone");
$adres_order = $paramsplug->get("adres");

if($user->id){
$adv_user = JSFactory::getUserShop();
} else {
$adv_user = JSFactory::getUserShopGuest();
$adv_user->$name_order = $senderName;
$adv_user->$email_order = $senderEmail;
$adv_user->$phone_order = $phone;
$adv_user->$adres_order = $adres;
}

$step = 5;
$cart = JModelLegacy::getInstance("cart", "jshop");
$cart->load();
$cart->setDisplayItem(1, 1);
$cart->setDisplayFreeAttributes();
$session = JFactory::getSession();
$order = JTable::getInstance("order", "jshop");

if($cart->getCountProduct() == 0){
JError::raiseWarning("", _JSHOP_NO_SELECT_PRODUCT);
echo _JSHOP_NO_SELECT_PRODUCT;
exit();
}

if($jshopConfig->min_price_order&&($cart->getPriceProducts()<($jshopConfig->min_price_order*$jshopConfig->currency_value))){
JError::raiseNotice("", sprintf(_JSHOP_ERROR_MIN_SUM_ORDER,formatprice($jshopConfig->min_price_order*$jshopConfig->currency_value)));
echo sprintf(_JSHOP_ERROR_MIN_SUM_ORDER,formatprice($jshopConfig->min_price_order*$jshopConfig->currency_value));
exit();
}

if($jshopConfig->max_price_order&&($cart->getPriceProducts()>($jshopConfig->max_price_order*$jshopConfig->currency_value))){
JError::raiseNotice("", sprintf(_JSHOP_ERROR_MAX_SUM_ORDER,formatprice($jshopConfig->max_price_order*$jshopConfig->currency_value)));
echo sprintf(_JSHOP_ERROR_MAX_SUM_ORDER,formatprice($jshopConfig->max_price_order*$jshopConfig->currency_value));
exit();
}

$orderNumber = $jshopConfig->next_order_number;
$jshopConfig->updateNextOrderNumber();
$date = date("Y-m-d H:i:s",time());
$ip_address = $_SERVER["REMOTE_ADDR"];
$paymentSystemVerySimple = 1;
$arr_property = $order->getListFieldCopyUserToOrder();
foreach($adv_user as $key => $value){
if(in_array($key, $arr_property)){
$eojyqjtn = "value";
$order->$key = ${$eojyqjtn};
}
}

$order->order_add_info = $comment;
$order->order_date = $order->order_m_date = getJsDate_on();
$order->order_tax = $cart->getTax(1, 1, 1);
$order->setTaxExt($cart->getTaxExt(1, 1, 1));
$order->order_subtotal = $cart->getPriceProducts();
$order->order_shipping = $cart->getShippingPrice();
$order->order_payment = $cart->getPaymentPrice();
$order->order_discount = $cart->getDiscountShow();
$order->shipping_tax = $cart->getShippingPriceTaxPercent();
$order->setShippingTaxExt($cart->getShippingTaxList());
$order->payment_tax = $cart->getPaymentTaxPercent();
$order->setPaymentTaxExt($cart->getPaymentTaxList());
$order->order_package = $cart->getPackagePrice();
$order->setPackageTaxExt($cart->getPackageTaxList());
$order->order_total = $cart->getSum(1, 1, 1);
$order->currency_exchange = $jshopConfig->currency_value;
$order->vendor_type = $cart->getVendorType();
$order->vendor_id = $cart->getVendorId();
$order->country = $jshopConfig->default_country;
$order->order_status = 1;

if($virtuemart_paymentmethod_id > 0 && $paramsplug->get("psevdopayment")!= 1){
$order->payment_method_id = $virtuemart_paymentmethod_id;
} else {
$order->payment_method_id = 0;
}

if($virtuemart_shipmentmethod_id > 0 && $paramsplug->get("psevdoshipment")!= 1){
$order->shipping_method_id = $virtuemart_shipmentmethod_id;
} else {
$order->shipping_method_id = 0;
}

$name = $lang->get("name");
$order->ip_address = $_SERVER["REMOTE_ADDR"];
$order->currency_code = $jshopConfig->currency_code;
$order->currency_code_iso = $jshopConfig->currency_code_iso;
$order->order_number = $order->formatOrderNumber($orderNumber);
$order->order_hash = md5(time().$order->order_total.$order->user_id);
$order->file_hash = md5(time().$order->order_total.$order->user_id."hashfile");
$order->display_price = $jshopConfig->display_price_front_current;
$order->lang = $jshopConfig->frontend_lang;

if($order->client_type){
$order->client_type_name = $jshopConfig->user_field_client_type[$order->client_type];
} else {
$order->client_type_name = "";
}
$order->order_created = 1;
if(!$adv_user->delivery_adress){
$order->copyDeliveryData();
}
$dispatcher->trigger("onBeforeCreateOrder", array(&$order));
$order->store();
$dispatcher->trigger("onAfterCreateOrder", array(&$order));

if($cart->getCouponId()){
$coupon = JTable::getInstance("coupon","jshop");
$coupon->load($cart->getCouponId());
if($coupon->finished_after_used){
$free_discount = $cart->getFreeDiscount();
if($free_discount > 0){
$coupon->coupon_value = $free_discount / $jshopConfig->currency_value;
} else {
$coupon->used = $adv_user->user_id;
}
$coupon->store();
}
}

$order->saveOrderItem($cart->products);
$dispatcher->trigger("onAfterCreateOrderFull", array(&$order));
$session->set("jshop_end_order_id", $order->order_id);
$order_history = JTable::getInstance("orderHistory","jshop");
$order_history->order_id = $order->order_id;
$order_history->order_status_id = $order->order_status;
$order_history->status_date_added = $order->order_date;
$order_history->customer_notify = 1;
$order_history->store();
$checkout->sendOrderEmail($order->order_id);
$dispatcher->trigger("onEndCheckoutStep5",array(&$order));
$session->set("jshop_send_end_form",0);
$checkout->setMaxStep(10);
$cart->clear();
$success = true;

if($paramsplug->get("sms") == "1"){
include_once(dirname(__FILE__).DS."assets".DS."sms".DS."smssending.php");
$mess = $paramsplug->get("message");
$mess = str_replace("%s", "".$order->order_total." ".$order->currency_code, $mess);
$mess = str_replace("%n", $order->order_number, $mess);
$smsparams = array("text" => $mess);
$ph = $phone;
$ph = preg_replace("/\\D/", "", $ph);
$phones = array($ph);
$mess_vendor = $paramsplug->get("message2", "");
$mess_vendor = str_replace("%s", "".$order->order_total." ".$order->currency_code, $mess_vendor);
$mess_vendor = str_replace("%n", $order->order_number, $mess_vendor);
$smsparams_vendor = array("text" => $mess_vendor);
$ph_vendor = $paramsplug->get("phone_vendor", "");
$ph_vendor = preg_replace("/\\D/", "", $ph_vendor);
$phones_vendor = array($ph_vendor);
smssend_smssending($smsparams, $phones, $paramsplug);
smssend_smssending($smsparams_vendor, $phones_vendor, $paramsplug);
}

if($paramsplug->get("sms_epochta") == "1"){
include_once(dirname(__FILE__).DS."assets".DS."sms".DS."epochtasms.php");
$mess = $paramsplug->get("message_epochta");
$mess = str_replace("%s", "".$order->order_total." ".$order->currency_code, $mess);
$mess = str_replace("%n", $order->order_number, $mess);
$smsparams = array("text" => $mess);
$ph = $phone;
$ph = preg_replace("/\D/","", $ph);
$phones = array($ph);
$mess_vendor = $paramsplug->get("message2_epochta","");
$mess_vendor = str_replace("%s", "".$order->order_total." ".$order->currency_code, $mess_vendor);
$mess_vendor = str_replace("%n", $order->order_number, $mess_vendor);
$smsparams_vendor = array("text" => $mess_vendor);
$ph_vendor = $paramsplug->get("phone_vendor_epochta", "");
$ph_vendor = preg_replace("/\\D/", "", $ph_vendor);
$phones_vendor = array($ph_vendor);
smssend_epochtasms($smsparams, $phones, $paramsplug);
smssend_epochtasms($smsparams_vendor, $phones_vendor, $paramsplug);
}

if($paramsplug->get("sms_sms") == "1"){
include_once(dirname(__FILE__).DS."assets".DS."sms".DS."sms.php");

$mess = $paramsplug->get("message_sms");
$mess = str_replace("%s","".$order->order_total." ".$order->currency_code, $mess);
$mess = str_replace("%n", $order->order_number, $mess);
$smsparams = array("text" => $mess);
$ph = $phone;
$ph = preg_replace("/\\D/","", $ph);
$phones = array($ph);
$mess_vendor = $paramsplug->get("message2_sms", "");
$mess_vendor = str_replace("%s", "".$order->order_total." ".$order->currency_code, $mess_vendor);
$mess_vendor = str_replace("%n", $order->order_number, $mess_vendor);
$smsparams_vendor = array("text" => $mess_vendor);
$ph_vendor = $paramsplug->get("phone_vendor_sms","");
$ph_vendor = preg_replace("/\D/", "", $ph_vendor);
$phones_vendor = array($ph_vendor);
smssend_smssms($smsparams, $phones, $paramsplug);
smssend_smssms($smsparams_vendor, $phones_vendor, $paramsplug);
}

if($paramsplug->get("sms_smsc") == "1"){
include_once(dirname(__FILE__).DS."assets".DS."sms".DS."smsc.php");

$mess = $paramsplug->get("message_smsc");
$mess = str_replace("%s", "".$order->order_total." ".$order->currency_code, $mess);
$mess = str_replace("%n", $order->order_number, $mess);
$smsparams = array("text" => $mess);
$ph = $phone;
$ph = preg_replace("/\\D/","", $ph);
$phones = array($ph);

$mess_vendor = $paramsplug->get("message2_smsc", "");
$mess_vendor = str_replace("%s","".$order->order_total." ".$order->currency_code, $mess_vendor);
$mess_vendor = str_replace("%n", $order->order_number, $mess_vendor);
$smsparams_vendor = array("text" => $mess_vendor);

$ph_vendor = $paramsplug->get("phone_vendor_smsc","");
$ph_vendor = preg_replace("/\\D/","", $ph_vendor);
$phones_vendor = array($ph_vendor);

smssend_smssmsc($smsparams, $phones, $paramsplug);
smssend_smssmsc($smsparams_vendor, $phones_vendor, $paramsplug);
}

echo $success ? "success" : "error";
exit;
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Код: php
echo (int) file_exists(__DIR__.DS."includes".DS."defines.php"); exit;
https://yadi.sk/i/oAwsTXLDbLVLzA
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Код: php
echo (int) file_exists(__DIR__.DS."includes".DS."defines.php"); exit;
https://yadi.sk/i/oAwsTXLDbLVLzA

Сделано.

Только вот "Notice: Constant _JEXEC already defined in /var/www/u0480012/data/www/bavtest.website/helper.php on line 2
1" - так и осталась...
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
https://yadi.sk/i/iHVm0Vr8ycAhnw

Поправил так:

Код
<?php

if(!defined("_JEXEC")){
define("_JEXEC", 1);
}

if(!defined("DS")){
define("DS", DIRECTORY_SEPARATOR);
}

define("JPATH_BASE", __DIR__);

$dirname = str_replace("plugins".DS."system".DS."js_oneclickcheckout", "", dirname(__FILE__));

require_once(JPATH_BASE.DS."includes".DS."defines.php");
require_once(JPATH_BASE.DS."includes".DS."framework.php");
$app = JFactory::getApplication("site");
$app->initialise();
define("JPATH_COMPONENT_SITE",JPATH_SITE."/components/com_jshopping");

НО ошибка "Notice: Constant JPATH_BASE already defined in /var/www/u0480012/data/www/bavtest.website/helper.php on line 11
Вы не выбрали товар" - осталась((((
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
В моем коде нет строки
Код: php
$dirname = str_replace("plugins".DS."system".DS."js_oneclickcheckout", "", dirname(__FILE__));
Ищите по всему сайту текст Вы не выбрали товар - в какой файле это находится. Потом скопируйте языковую константу и найдите ее в файле /var/www/u0480012/data/www/bavtest.website/helper.php

Страшно представить как у вас подключается файл: /var/www/u0480012/data/www/bavtest.website/helper.php, он же должен использоваться для отдельного запроса, а не выполняться при входе на сайт....
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема со входом в панель администратора Joomla 3.x после обновления

Автор danieeljose

Ответов: 2
Просмотров: 689
Последний ответ 24.03.2025, 20:33:02
от R31rus
Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 607
Последний ответ 22.11.2024, 07:14:15
от stepan39
Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 641
Последний ответ 07.09.2024, 13:19:48
от timofe
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 982
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav
После выключения расширения лег сайт

Автор blind

Ответов: 4
Просмотров: 1049
Последний ответ 19.05.2024, 14:13:33
от blind