Запустить PHP функцию в JS
Здравствуйте, мне нужна ваша помощь.
У меня WordPress с плагином NextGEN Gallery Мне нужно Вывести в LightBox функции с этого же плагина которая выводит название и метотег. Функция такого вида <?php echo $image->description ?> Я нашел файл JS этого лайт бокса и место где должна выводится эта функция, но как заставить ее работать в JS? На скрине в месте вывода стоит "1" Сейчас в месте где мне нужно вывести эти данные стоит +s+ И выводится описание фотографии. Я не понимаю как +s+ выводит это описания, и что это вообще. <div id="fancybox-title-'+d.titlePosition+'">'+s+"</div>": |
Цитата:
Цитата:
Цитата:
|
Спасибо, но вы можете мне подскакать куда копать как мне разобраться с объектами на сервере? Или может есть другая возможность выводить в этом лайт боксе PHP?
|
Если бы я был фанатиком WordPress или бы помнил наизусть все методы всех CMS и плагинов, с которыми работал, то я бы сказал не только где "копать", но и какой "лопатой".
Разбирайтесь с кодом плагина, судя по запросу это его объект. Разбирайтесь что есть description, свойство объекта или может быть метод? |
Я вас понял :) Если бы я понимал как разобрать и что потом делать =-)
Буду читать тогда что такое свойство объекты и что такое методы =) |
class Foo { public $my = 'Property'; //это свойство класса, причем публичное! } class Bar { public function my() { //это метод класса return 'Method'; } } $foo = new Foo(); echo $foo->my; //обращение к свойству $bar = new Bar(); echo $bar->my(); //обращение к методу Но, если обратиться к свойству как методу - $foo->my(), то получим исключение, а если обратиться к методу как свойству - $bar->my, то получим null. У вас же получаем 1. Значит открываем код плагина и методично разбираемся что это, что должно возвращать и т.д., и т.п. |
Нет в данном случае это просто пример, там выводится Описание фотографии, а я хочу выводить там по мимо описания название и еще один мето-тег. Как выводится описание, можно ли аналогии выводить так же название? И что значит +s+
|
Цитата:
var s = '<div id="fancybox-title-'+d.titlePosition+'">'+s+'</div>' //вставлены d.titlePosition и s В РНР конкатенация строк с переменными через . $s = '<div id="fancybox-title-' . $var . '">' . $var . '</div>' или непосредственно в вывод <div id="fancybox-title-<?=$var?>"><?=$var?></div> где <?= краткая запись конструкции <?php echo Цитата:
|
Стоп получается если я найду $s.
Я смогу туда добавить нужные мне записи для вывода? $s = '<div id="fancybox-title-' . $var . '">' . $var . '</div>' Но в JS есть еще такя строка <td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+s+'</td> Здесь тоже есть +s+ но описании фотографии же не выводится. |
Цитата:
А <td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+s+'</td>, это строковое некой js-переменной со вставкой также js-переменной. В РНР строки соединяются посредством оператора точка, а в JS плюс, или не понятно написано? Нет и не может быть в JS переменных РНР, как и не может быть обратного. Можно только передать на другую сторону значение переменной, присвоив его на другой стороне некой переменной. Если нужно, чтобы js-переменная s на клиента получила значение определяемое РНР, то нужно либо запросить асинхронно у сервера это значение, либо при выводе определить. Например, в выводе <script> var s = <?=$var_php?>; </script> //или если конструкция echo echo '<script> var s = ' . $var_php . '; </script>'; |
Часовой пояс GMT +3, время: 10:07. |