Новости 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 Гость просматривают эту тему.
  • 34 Ответов
  • 3325 Просмотров
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
[Решено] Вывод данных в js
« : 08.01.2016, 16:22:14 »
Я в js и php не силён, но вот как выводятся данные из XML файла я понял.
Код
<field name="PLG_SMOOTH_SPEED" type="text" extension="plg_system_smooth_scroll_speed" description="PLG_SMOOTH_SPEED_DESC"/>
и в php файл потом добавляем
Код
if( $displayData['params']->get('plg_system_smooth_scroll_speed')!= '' ) {
?> бла бла бла и <?php echo $displayData['params']->get('plg_system_smooth_scroll_speed'); ?> бла бла бла <?php
}
а как мне вывести тоже самое в js файле? именно эту строку
Код
<?php echo $displayData['params']->get('plg_system_smooth_scroll_speed'); ?>
« Последнее редактирование: 11.01.2016, 10:20:58 от deminevgen »
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #1 : 08.01.2016, 16:44:00 »
Объясняю я плохо! Вообщем есть плагин с js файлом. Он отвечает за плавность скрола по странице, но настройки скорости анимации и шага при скроле менять из админки нельзя. Я уже добавил в XML файл следующее:
Код
<config>
<fields name="params">
<fieldset name="basic">
<field name="PLG_SMOOTH_SPEED" type="text" extension="plg_system_s1" description="PLG_SMOOTH_SPEED_DESC"/>
<field name="PLG_SMOOTH_HEIGHT" type="text" extension="plg_system_h1" description="PLG_SMOOTH_HEIGHT_DESC"/>
</fieldset>
</fields>
</config>
и в файл  ru-RU.plg_system_smooth_scroll.ini следующее :
Код
PLG_SMOOTH_SCROLL="Плагин - плавный скроллинг"
PLG_SMOOTH_SCROLL_DESC="Плагин - плавный скроллинг для Joomla 3.0+"
PLG_SMOOTH_HEIGHT="ВЫСОТА"
PLG_SMOOTH_HEIGHT_DESC="ВЫСОТА ПРОКРУТКИ"
PLG_SMOOTH_SPEED="СКОРОСТЬ"
PLG_SMOOTH_SPEED_DESC="СКОРОСТЬ ПРОКРУТКИ"
Теперь мне надо вместо дефолтных значений в файле jquery.smooth-scroll.min.js
Код
var ssc_framerate = 150;
var ssc_animtime = 500;
var ssc_stepsize = 150;
var ssc_pulseAlgorithm = true;
var ssc_pulseScale = 6;
var ssc_pulseNormalize = 1;
var ssc_keyboardsupport = true;
var ssc_arrowscroll = 50;
var ssc_frame = false;
var ssc_direction = {
  x: 0,
  y: 0
};
выводить значения которые я внесу в админке плагина, как это сделать?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Вывод данных в js
« Ответ #2 : 08.01.2016, 19:15:23 »
Кодируете в JSON и выводите где-нибудь на странице. Можно в качестве произвольного html-атрибута. В JS-скрипте получаете атрибут, раскодируете. Всё просто.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #3 : 08.01.2016, 19:26:24 »
на сколько я понимаю, есть альтернативный путь - вызывать конфигурацию в php

вот на примере галереи
Код
$doc->addScriptDeclaration('      jQuery(document).ready(function() {jQuery("a[rel^=\"prettyPhoto\"]").prettyPhoto({'.ltrim($ppparams,",").'})}); //v.4.315');

т.е. если сама инициализация - небольшая, то берем всю статичную часть и помещаем в строковую переменную

$my_script="тут блок с самого начала скрипта и со всеми статичными параметрами".тут_выводим_переменные."тут конец скрипта";

и выводим
Код
$doc->addScriptDeclaration($my_script);
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #4 : 08.01.2016, 19:36:21 »
на сколько я понимаю, есть альтернативный путь - вызывать конфигурацию в php

вот на примере галереи
Код
$doc->addScriptDeclaration('      jQuery(document).ready(function() {jQuery("a[rel^=\"prettyPhoto\"]").prettyPhoto({'.ltrim($ppparams,",").'})}); //v.4.315');


Тоесть не используя сторонний файл js , просто помещаем сам скрипт в php и с помощью
Код
<?php echo $displayData['params']->get('plg_system_smooth_scroll_speed'); ?>
выводим значения из админки? так я понимаю вас?
Спойлер
[свернуть]
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #5 : 08.01.2016, 19:37:53 »
да, я дописал в сообщении
на самом деле, можно совмещать.

обычно скрипт идет в 2-х частях:
обработчик + инициализация.

инициализация запускается по событию (document).ready и там как раз все переменные выставляются.
вот эту часть выносим в php, а весь остальной код можно цеплять стандартно через js файл
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #6 : 08.01.2016, 19:56:14 »
Скрипт работает, когда я его помещаю в php, но вот когда я делаю вот так var ssc_stepsize = <?php echo $displayData['params']->get('plg_system_nnframework'); ?>;   вместо числа то выдает
Parse error: syntax error, unexpected 'params' (T_STRING) in C:\open\OpenServer\domains\intechnic.pro\plugins\system\smooth_scroll\smooth_scroll.php on line 284

предварительно вписав вот так ещё строку : if( $displayData['params']->get('lg_system_nnframework')!= '' ) {

PS. Дуб дубом в js и php, на стадии массивов я))))
« Последнее редактирование: 08.01.2016, 20:00:56 от deminevgen »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #7 : 08.01.2016, 20:10:47 »
омг. зачем это все? ))
вы же в php получаете данные, берете напрямую, без echo

$ssc_stepsize=$displayData['params']->get('plg_system_nnframework');

потом через точку прицепляете параметры к основному скрипту и через точку же цепляете конец.

*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #8 : 08.01.2016, 20:24:07 »
Всё равно вот так вот :
Код
Parse error: syntax error, unexpected 'params' (T_STRING) in C:\open\OpenServer\domains\intechnic.pro\plugins\system\smooth_scroll\smooth_scroll.php on line 281

вот все файлы моего плаги :
папка language
script.php :
Спойлер
[свернуть]
файл smooth_scroll.php
Спойлер
[свернуть]
файл query.smooth-scroll.min.js
Спойлер
[свернуть]
и файл XML
Спойлер
[свернуть]
« Последнее редактирование: 08.01.2016, 20:39:49 от deminevgen »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #9 : 08.01.2016, 20:50:28 »
блин, я так не работаю ))
мне в этих файлах не разобраться в таком режиме.

делается так.
сначала надо добиться, чтобы просто статичный текст добавлялся в блок.

т.е.

Код
$ssc_stepsize="var ssc_stepsize = 150;";

добиваетесь, чтобы эта строка срабатывала, т.е. код собирался правильно.
потом уже добиваетесь, чтобы переменная $ssc_stepsize получала нужный параметр
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Вывод данных в js
« Ответ #10 : 08.01.2016, 21:05:45 »
Код
Parse error: syntax error, unexpected 'params' (T_STRING) in C:\open\OpenServer\domains\intechnic.pro\plugins\system\smooth_scroll\smooth_scroll.php on line 281
Вот интересно, что надо сделать, чтобы получить ошибку синтаксиса в 281 строке, в файле из 39 строк.
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #11 : 08.01.2016, 21:18:44 »
Код
Parse error: syntax error, unexpected 'params' (T_STRING) in C:\open\OpenServer\domains\intechnic.pro\plugins\system\smooth_scroll\smooth_scroll.php on line 281
Вот интересно, что надо сделать, чтобы получить ошибку синтаксиса в 281 строке, в файле из 39 строк.
да я добавлял скрипт целиком в файл и пробовал на этой строке менять значение
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод данных в js
« Ответ #12 : 08.01.2016, 21:22:24 »
ТС, вы же не поленились выкладывать код всех файлов, почему нельзя выкладывать smooth_scroll.php в том виде, в каком вызывал ошибку?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #13 : 08.01.2016, 22:19:01 »
блин, я так не работаю ))
мне в этих файлах не разобраться в таком режиме.

делается так.
сначала надо добиться, чтобы просто статичный текст добавлялся в блок.

т.е.

Код
$ssc_stepsize="var ssc_stepsize = 150;";

добиваетесь, чтобы эта строка срабатывала, т.е. код собирался правильно.
потом уже добиваетесь, чтобы переменная $ssc_stepsize получала нужный параметр
эту строку где выводить? в исполняемом php файле?
Вообще не могу понять, я запутался окончательно))))))))
А почему нельзя вот так выводить, как я в cackle делал?
Код
<?php


//no direct access
defined('_JEXEC') or die('Restricted Access');
if( $displayData['params']->get('cackle_appID')!= '' ) {
?>

<div id="mc-container"></div>
<script type="text/javascript">
cackle_widget = window.cackle_widget || [];
cackle_widget.push({widget: 'Comment', id: <?php echo $displayData['params']->get('cackle_appID'); ?>});
(function() {
    var mc = document.createElement('script');
    mc.type = 'text/javascript';
    mc.async = true;
    mc.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://cackle.me/widget.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(mc, s.nextSibling);
})();
</script>
<?php
}
« Последнее редактирование: 08.01.2016, 22:37:06 от deminevgen »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #14 : 08.01.2016, 23:00:00 »
ну как бы не айс весь код мешать с php.
но можно и так, по идее.
тут проблема в том, что скрипт js как-то не совсем подходит для передачи ему параметов мои способом, ибо переменные задаются не в блоке инициализации, а не пойми где.
да и события "загрузка документа" я не нашел.

но в связи с этим можно попробовать переназначить переменную после загрузки документа
$doc->addScriptDeclaration('   jQuery(document).ready(function() { ssc_stepsize = 500; }); ');


*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #15 : 08.01.2016, 23:05:01 »
т.е. вот после этой строки добавить

Код
$doc->addScript(JURI::base().'media/smooth_scroll/js/jquery.smooth-scroll.min.js');
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #16 : 10.01.2016, 00:40:10 »
Спасибо за помощь, всё работает отлично, только не получается из XML подтянуть данные) чёт еррорит) ну да ладно, разберусь)
Код
$doc->addScriptDeclaration('   jQuery(document).ready(function() { ssc_stepsize = $displayData['params']->get('speed'); }); ');
Это вообще имеет смысл?
Код
Parse error: syntax error, unexpected 'params' (T_STRING) in C:\open\OpenServer\domains\intechnic.pro\plugins\system\smooth_scroll\smooth_scroll.php on line 37
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #17 : 10.01.2016, 00:47:23 »
сначала получаем значение из XML в переменную в php
вот когда ты через echo её сможешь вывести, тогда и можно добавлять ее вывод в код.

Код
$mySpeed=$displayData['params']->get('speed');
echo $mySpeed;

*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод данных в js
« Ответ #18 : 10.01.2016, 00:51:49 »
Синтаксическая ошибка. Можно попробовать так
Код: php-brief
$doc->addScriptDeclaration("jQuery(document).ready(function(){ssc_stepsize=".$displayData['params']->get('speed').";})");
Не будь паразитом, сделай что-нибудь самостоятельно!
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #19 : 10.01.2016, 00:57:08 »
Код
<fields name="params" addfieldpath="/plugins/system/smooth_scroll">
<fieldset name="basic">
<field name="speed" type="text"  label="PLG_SMOOTH_SPEED" description="PLG_SMOOTH_SPEED_DESC" />
<field name="height" type="text"  label="PLG_SMOOTH_HEIGHT" description="PLG_SMOOTH_HEIGHT_DESC" />
       </fieldset>
</fields>
</config>
</extension>
Получаю null
Код
Fatal error: Call to a member function get() on null in C:\open\OpenServer\domains\intechnic.pro\plugins\system\smooth_scroll\smooth_scroll.php on line 4
Что не так делаю? вроде раньше работало)))
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод данных в js
« Ответ #20 : 10.01.2016, 01:01:26 »
А нельзя сразу выложить строку 4? Что за игра в гадалку?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #21 : 10.01.2016, 01:04:20 »
А нельзя сразу выложить строку 4? Что за игра в гадалку?
сначала получаем значение из XML в переменную в php
вот когда ты через echo её сможешь вывести, тогда и можно добавлять ее вывод в код.

Код
$mySpeed=$displayData['params']->get('speed');
echo $mySpeed;


*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод данных в js
« Ответ #22 : 10.01.2016, 01:06:11 »
$displayData как-то объявлена?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #23 : 10.01.2016, 01:20:33 »
ну в общем мы тут уже ничем не поможем, наверно )
смотри другие плагины и добивайся получения своего параметра. все остальное для счастья у тебя есть. )
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #24 : 10.01.2016, 01:22:29 »
$displayData как-то объявлена?
Нет
Я просто повторюсь, что в c php и js на стадии освоения, делал по анологии в шаблоне helix3
вот такой пример: XML
Код
            <fieldset name="basic" addfieldpath="/plugins/system/helix3/fields">

<field name="cackle_appID" type="text" class="child comment_engine comment_engine_cackle" label="HELIX_CACKLE_ID" description="HELIX_CACKLE_ID_DESC" />
Спойлер
[свернуть]
Спойлер
[свернуть]
Ничего я не объявил))) Пойду почитаю как данные из XML в php перетащить.
Всем спасибо за помощь! Осталось дело за малым)
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Вывод данных в js
« Ответ #25 : 10.01.2016, 01:31:35 »
так ты не с шаблона сдирай, а с плагинов тогда.
я просто сам не пишу плагины, тоже только хакаю чужое под настроение.
но примеры то надо явно брать с подобных расширений, а не с шаблонов.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Вывод данных в js
« Ответ #26 : 10.01.2016, 07:20:58 »
Ничего я не объявил))) Пойду почитаю как данные из XML в php перетащить.
Код: php
var_dump($this->params->get('speed'));
*

deminevgen

  • Захожу иногда
  • 115
  • 2 / 0
Re: Вывод данных в js
« Ответ #27 : 10.01.2016, 12:12:47 »
Код: php
var_dump($this->params->get('speed'));

String(4) 1600 - я в админке именно столько и выставил
когда просто вставляю в самое начало кода то норм выдает стринг а когда пытаюсь в строку пихануть то T-STRING
      $doc->addScriptDeclaration('   jQuery(document).ready(function() { ssc_stepsize = ($this->params->get('speed'); }); ');
получаю
Спойлер
[свернуть]
« Последнее редактирование: 10.01.2016, 12:18:21 от deminevgen »
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как ограничить вывод количества результатов?

Автор misteri27

Ответов: 0
Просмотров: 625
Последний ответ 03.12.2021, 16:34:23
от misteri27
Вывод графика работы с “Открыто / закрыто” на сайте

Автор leo78

Ответов: 8
Просмотров: 1314
Последний ответ 25.08.2020, 12:18:03
от leo78
Вывод рейтинга jlex review

Автор koskanalya

Ответов: 0
Просмотров: 949
Последний ответ 17.01.2020, 14:05:54
от koskanalya
Uikit ручная инициализация DatePicker [РЕШЕНО]

Автор dm-krv

Ответов: 5
Просмотров: 1915
Последний ответ 25.09.2019, 12:39:35
от dm-krv
[РЕШЕНО]smooth scroll plugin

Автор lexxbry

Ответов: 5
Просмотров: 2304
Последний ответ 19.06.2018, 11:39:48
от dmitry_stas