Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.02.2017, 14:30
Новичок на форуме
Отправить личное сообщение для K1ndly Посмотреть профиль Найти все сообщения от K1ndly
 
Регистрация: 04.02.2017
Сообщений: 9

Запустить PHP функцию в JS
Здравствуйте, мне нужна ваша помощь.

У меня WordPress с плагином NextGEN Gallery

Мне нужно Вывести в LightBox функции с этого же плагина которая выводит название и метотег.

Функция такого вида <?php echo $image->description ?>

Я нашел файл JS этого лайт бокса и место где должна выводится эта функция, но как заставить ее работать в JS?



На скрине в месте вывода стоит "1"

Сейчас в месте где мне нужно вывести эти данные стоит +s+

И выводится описание фотографии. Я не понимаю как +s+ выводит это описания, и что это вообще.

<div id="fancybox-title-'+d.titlePosition+'">'+s+"</div>":
Ответить с цитированием
  #2 (permalink)  
Старый 04.02.2017, 14:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от K1ndly
Функция такого вида <?php echo $image->description ?>
Это не функция, а конструкция языка, которая выводит свойство объекта.

Сообщение от K1ndly
Я нашел файл JS этого лайт бокса и место где должна выводится эта функция, но как заставить ее работать в JS?
Запустить РНР функцию на клиенте естественно нельзя.

Сообщение от K1ndly
На скрине в месте вывода стоит "1"
Разбирайтесь с объектом на сервере, либо должно запрашиваться не свойство, а метод, либо иные причины.
Ответить с цитированием
  #3 (permalink)  
Старый 04.02.2017, 15:27
Новичок на форуме
Отправить личное сообщение для K1ndly Посмотреть профиль Найти все сообщения от K1ndly
 
Регистрация: 04.02.2017
Сообщений: 9

Спасибо, но вы можете мне подскакать куда копать как мне разобраться с объектами на сервере? Или может есть другая возможность выводить в этом лайт боксе PHP?
Ответить с цитированием
  #4 (permalink)  
Старый 04.02.2017, 15:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если бы я был фанатиком WordPress или бы помнил наизусть все методы всех CMS и плагинов, с которыми работал, то я бы сказал не только где "копать", но и какой "лопатой".

Разбирайтесь с кодом плагина, судя по запросу это его объект. Разбирайтесь что есть description, свойство объекта или может быть метод?
Ответить с цитированием
  #5 (permalink)  
Старый 04.02.2017, 15:52
Новичок на форуме
Отправить личное сообщение для K1ndly Посмотреть профиль Найти все сообщения от K1ndly
 
Регистрация: 04.02.2017
Сообщений: 9

Я вас понял Если бы я понимал как разобрать и что потом делать =-)

Буду читать тогда что такое свойство объекты и что такое методы =)
Ответить с цитированием
  #6 (permalink)  
Старый 04.02.2017, 16:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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. Значит открываем код плагина и методично разбираемся что это, что должно возвращать и т.д., и т.п.

Последний раз редактировалось laimas, 04.02.2017 в 16:12.
Ответить с цитированием
  #7 (permalink)  
Старый 04.02.2017, 16:20
Новичок на форуме
Отправить личное сообщение для K1ndly Посмотреть профиль Найти все сообщения от K1ndly
 
Регистрация: 04.02.2017
Сообщений: 9

Нет в данном случае это просто пример, там выводится Описание фотографии, а я хочу выводить там по мимо описания название и еще один мето-тег. Как выводится описание, можно ли аналогии выводить так же название? И что значит +s+
Ответить с цитированием
  #8 (permalink)  
Старый 04.02.2017, 16:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от K1ndly
что значит +s+
Это вставка в строковое значение js-переменной:

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

Сообщение от K1ndly
хочу выводить там по мимо описания название и еще один мето-тег
Мета тег. Если его можно получить у объекта/класса, выводите.
Ответить с цитированием
  #9 (permalink)  
Старый 04.02.2017, 19:11
Новичок на форуме
Отправить личное сообщение для K1ndly Посмотреть профиль Найти все сообщения от K1ndly
 
Регистрация: 04.02.2017
Сообщений: 9

Стоп получается если я найду $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+ но описании фотографии же не выводится.
Ответить с цитированием
  #10 (permalink)  
Старый 04.02.2017, 20:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от K1ndly
если я найду $s
Какую $s? Это $s = '<div id="fancybox-title-' . $var . '">' . $var . '</div>' пример РНР кода, где переменной $s присваивается строковое значение со вставкой php-переменных.

А <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>';
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Senior JS (node.js + mongodb + angular.js) + PHP (Одесса) greebn9k Работа 0 21.04.2015 01:20
Передача данных с js в php juramaj AJAX и COMET 2 11.03.2015 12:42
Отправить данные черен JS к PHP Smokvin AJAX и COMET 1 04.12.2014 13:34
Зашифровать в js, расшифровать в php odlf3 AJAX и COMET 3 30.09.2014 06:00
Подгрузка блоков из php с помощью js oster_j Общие вопросы Javascript 0 18.03.2013 13:39