Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

👩‍💻 Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:- для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов

Uri::root() и
Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.- для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера. Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки
--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.⚠️ Иначе в качестве хоста и url класса Uri будет установлено
https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр
$live_site можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида

{YOUTUBE}...{/YOUTUBE},
{MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов
{YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".
Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

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

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Звязь с базой через php
« : 19.12.2016, 18:03:47 »
Нужно связаться с базой phpMyAdmin на платформе Joomla 3+ через php код. Где я ошибася, любые данные из базы могу предоставить.
Код
function checkpromo() {
$database =& JFactory::getDBO();
$database->setQuery("SELECT CODE FROM promo_kod where CODE='{.sscf-input}' and ACTIVE=1");
$result = mysql_query($query) or die(mysql_error());
$line = mysql_fetch_assoc($result);
if(.sscf-input,$line['CODE']){
alert('Есть')
}
}

Функция прикреплена к кнопке.
promo-kod = название таблицы.
COD,ACTIVE = поля в таблице.
.sscf-input = класс поля куда были введены данные.
Задача следуйщая, нужно проверить денные которые были введены в поле с теми что есть в базе.На данном этапе если код соответстует он выводит сообщение "Есть". Суть в том что до нее не доходит.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Звязь с базой через php
« Ответ #1 : 19.12.2016, 18:25:03 »
что значит "до нее не доходит"?)))
*

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Звязь с базой через php
« Ответ #3 : 19.12.2016, 19:17:12 »
https://cmscafe.ru/docs/joomla/developer/db

Спасибо я понял, до базы дошли, но теперь не получаеться сравнить с тем что я ввел.
*

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Звязь с базой через php
« Ответ #4 : 19.12.2016, 19:29:00 »
что значит "до нее не доходит"?)))
Мой запрос не доходил до базы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Звязь с базой через php
« Ответ #5 : 19.12.2016, 23:32:02 »
   if(.sscf-input,$line['CODE']){
      alert('Есть')
   }
я извиняюсь, это какой язык?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Звязь с базой через php
« Ответ #6 : 20.12.2016, 00:11:38 »
я извиняюсь, это какой язык?
FrulinoPHPJScript. Название неокончательное, идет конкурс на лучшее название современного универсального языка Web-программирования.
« Последнее редактирование: 20.12.2016, 00:17:02 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Звязь с базой через php
« Ответ #7 : 20.12.2016, 01:39:14 »
почему вы не используете JInput?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Звязь с базой через php
« Ответ #8 : 20.12.2016, 03:04:50 »
вероятно потому, что
.sscf-input = класс поля куда были введены данные.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Звязь с базой через php
« Ответ #9 : 20.12.2016, 11:57:27 »
FrulinoPHPJScript. Название неокончательное, идет конкурс на лучшее название современного универсального языка Web-программирования.
Люблю таких как ты которые умничают, но толку от них обычно как от кастрированного кота, никакого, ты бы дал дельный совет а не издевался, видишь же что я не разбираюсь немного.
*

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Звязь с базой через php
« Ответ #10 : 20.12.2016, 11:58:09 »
я извиняюсь, это какой язык?
Я пытался переделать этот код под себя.
Код
if(isset($_POST['promo_code']) && !empty($_POST['promo_code']))
{
    $pc = $_POST['promo_code'];
    $filter = '/^[A-Z]{2}\d{6}$/';
    if(preg_match($filter, $pc))
    {
        $query="select * from fabrik_promo_code WHERE promo_code='{$pc}'";
        $result = mysql_query($query) or die(mysql_error());
        $line = mysql_fetch_assoc($result);
        if(!strcmp($pc,$line['promo_code']))//сравниваю то что ввел пользователь с содержимым таблицы базы
        {
            echo $line['fabrik_internal_id'];
            echo $line['promo_code'];
            echo $line['descrip'];
        }
    }
    else
        echo 'Введите правильный промо-код или оставьте поле пустым';
}
*

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Звязь с базой через php
« Ответ #11 : 20.12.2016, 14:34:31 »
https://cmscafe.ru/docs/joomla/developer/db

По примеру на том сайте я сделал вот такой вот код.Но он не работает.
Код
$db = JFactory::getDbo(); //Пытаемся дойти до базы данных
$query
    ->select(
        $db->quoteName(
            array('CODE', 'ACTIVE') //Выбирваем строки
        )
    )
    ->from($db->quoteName('promo_kod')) //Выбирваем таблицу
    ->where($db->quoteName('CODE'). jQuery('.sscf-input')) //Условие
->where($db->quoteName('ACTIVE'). ' = 1') //Условие
    $db->setQuery($query); //Отправляем запрос
if ($result = jQuery('.sscf-input')){
jQuery('.sscf-success-message');
}
else {
jQuery('.sscf-valid-error');
}
}
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Звязь с базой через php
« Ответ #12 : 20.12.2016, 14:41:31 »
Цитировать
->where($db->quoteName('CODE'). jQuery('.sscf-input'))
Как Вы в PHP передаёте jQuery('.sscf-input')?
*

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Звязь с базой через php
« Ответ #13 : 20.12.2016, 14:44:46 »
Как Вы в PHP передаёте jQuery('.sscf-input')?
Вот с этим то у меня и проблема :D
jQuery('.sscf-input') это само поле ввода данных.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Звязь с базой через php
« Ответ #14 : 20.12.2016, 14:49:25 »
Вот с этим то у меня и проблема :D
jQuery('.sscf-input') это само поле ввода данных.
Семён Семёныч... Ну а как и куда Вы эти данные отправляете? С этого начинать надо было.
*

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Звязь с базой через php
« Ответ #15 : 20.12.2016, 14:54:05 »
Семён Семёныч... Ну а как и куда Вы эти данные отправляете? С этого начинать надо было.
В базу, для проверки совпадений, в базе делаю выборку и сравниваю с тем что ввели в то самое поле.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Звязь с базой через php
« Ответ #16 : 20.12.2016, 14:59:04 »
В базу, для проверки совпадений, в базе делаю выборку и сравниваю с тем что ввели в то самое поле.
Я понмаю что в базу, не тупой. КАК ВЫ ЭТО ДЕЛАЕТЕ? С какой-то формы отправляете данные? Компонент какой-то свой используете? Сторонний скрипт?
*

Frulin

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: Звязь с базой через php
« Ответ #17 : 20.12.2016, 15:00:27 »
Я понмаю что в базу, не тупой. КАК ВЫ ЭТО ДЕЛАЕТЕ? С какой-то формы отправляете данные? Компонент какой-то свой используете? Сторонний скрипт?
Да форма на самом сайте (tourpodarki.um.la).Вот сайт что бы много не расписывать =) Там я пытаюсь сделать проверку поля "Промокод"
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Звязь с базой через php
« Ответ #18 : 20.12.2016, 15:06:55 »
Код: javascript
function sscfSend() {
jQuery.ajax({
type: 'POST',
url: sscfForm.attr('action'),
data: sscfForm.serialize(),
cache: false,
response: 'text',
beforeSend: function() {
sscfForm.find('input[type="submit"]').attr('value', 'Отправка сообщения...');
sscfForm.find('input[type="submit"]').attr('disabled', 'disabled');
},
success: function (data) {
sscfForm.slideUp('fast');
sscfForm.parent().find('.sscf-success-message').append(data);
sscfForm.parent().find('.sscf-success-message').slideDown("fast");
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
}

Ну так у Вас данные не куда не уходят.

Код
<form action="" method="post" class="sscf-form" id="formBody95">
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Возможно ли выполнить action Controller в Joomla 3 через cron?

Автор Cristoff

Ответов: 16
Просмотров: 1781
Последний ответ 20.06.2016, 21:25:04
от Aleks.Denezh
обновить данные в базе данных через интервал времени

Автор кодик

Ответов: 37
Просмотров: 2339
Последний ответ 06.12.2015, 13:41:18
от кодик
Работа с базой

Автор Masyan181

Ответов: 5
Просмотров: 1244
Последний ответ 11.02.2015, 03:35:30
от zomby6888
[Решено] Как задать пункту меню параметр task, через настройки вьюхи?

Автор svfolder

Ответов: 2
Просмотров: 1336
Последний ответ 02.08.2013, 20:18:43
от svfolder
Как прикрепить файл к письму через форму input type="file"?

Автор DiEV

Ответов: 15
Просмотров: 9572
Последний ответ 09.06.2013, 10:02:10
от Aleks.Denezh