Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2017, 11:27
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Как вставить php в js ?
Здравствуйте!
Ситуация следующая: есть файл jquery.prettyPhoto.js, и в этом файле находится html структура всплывающего окна:
markup: '<div class="pp_pic_holder"> \
						<div class="ppt">&nbsp;</div> \
						<div class="pp_top"> \
							<div class="pp_left"></div> \
							<div class="pp_middle"></div> \
							<div class="pp_right"></div> \
						</div> \
						<div class="pp_content_container"> \
							<div class="pp_left"> \
							<div class="pp_right"> \
								<div class="pp_content"> \
									<div class="pp_loaderIcon"></div> \
									<div class="pp_fade"> \
										<a href="#" class="pp_expand" title="Expand the image">Expand</a> \
										<div class="pp_hoverContainer"> \
											<a class="pp_next" href="#">next</a> \
											<a class="pp_previous" href="#">previous</a> \
										</div> \
										<div id="pp_full_res"></div> \
										<div class="pp_details"> \
											<div class="pp_nav"> \
												<a href="#" class="pp_arrow_previous">Previous</a> \
												<p class="currentTextHolder">0/0</p> \
												<a href="#" class="pp_arrow_next">Next</a> \
											</div> \
											<p class="pp_description"></p> \
											<div class="pp_social">{pp_social}</div> \
											<a class="pp_close" href="#">Close</a> \
										</div> \
									</div> \
								</div> \
							</div> \
							</div> \
						</div> \
						<div class="pp_bottom"> \
							<div class="pp_left"></div> \
							<div class="pp_middle"></div> \
							<div class="pp_right"></div> \
						</div> \
					</div> \
					<div class="pp_overlay"></div>',

Проблема в том что мне нужно, вставить в эту структуру еще одну кнопочку из другого плагина, которая должны вызываться через php
<div><?php if(function_exists('wp_ulike')) wp_ulike('get'); ?></div>


Как быть?

Последний раз редактировалось Igorsrt, 27.05.2017 в 11:46.
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2017, 23:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Через РНР на клиенте ничего не вызывается. Если эту кнопку нужно вывести по условию на сервере, значит jquery.prettyPhoto.js должен формировать и отдавать клиенте интерпретатор.
Ответить с цитированием
  #3 (permalink)  
Старый 28.05.2017, 11:08
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

смотрите, если бы верстка всплывающего окна была в обычном php файле я бы просто туда добавил код в нужное место:
<?php if(function_exists('wp_ulike')) wp_ulike('get'); ?>
и у меня бы эта кнопка вызывалась... а в js файл я php добавить не могу (или не умею)...
В приведенном выше js коде есть строчка которая вызывает "родные" кнопки без использования php
<div class="pp_social">{pp_social}</div> \

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

Кнопки соцсетей а данном плагине определяются конфигурацией. Если вам нужно добавить к этим кнопкам свою, которая определяется неким условием на сервере, то кроме сервера ее никто в код не добавит. Запрашивать .js файл при этом совсем не обязательно как

<script src=".....jquery.prettyPhoto.js"></script>

это может быть запрос к php-файлу, который отдаст серверу данный скрипт, добавив в него кнопку:

<script src=".....name.php"></script>

где:

header('Content-type: text/javascript');
$pp_social = условие ? 'html-код кнопки' : '';
include '.....jquery.prettyPhoto.js';
//и в этом файле в нужном месте
<?=$pp_social?>
Ответить с цитированием
  #5 (permalink)  
Старый 29.05.2017, 15:44
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

А как мне это практически реализовать?
вот есть у меня в файле jquery.prettyPhoto.js такая строчка:
if(settings.social_tools){
				facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); 
				$pp_pic_holder.find('.pp_social').html(facebook_like_link);
			}

..если я меняю html(facebook_like_link) на html('12345678') то у меня в лайтбоксе отображается 12345678.. а что мне нужно вставить что бы отобразился результат действия php
<?php if(function_exists('wp_ulike')) wp_ulike('get'); ?>

Извиняюсь, что так неграмотно все объясняю и спрашиваю... но очень надо - третий день уже ничего не могу сделать ((
Ответить с цитированием
  #6 (permalink)  
Старый 29.05.2017, 15:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну я же писал как. Заменить в моем примере строку 2 на

$pp_social = function_exists('wp_ulike') ? wp_ulike('get') : null';


А вывод (в примере строка), перенести в файл js (строка 3)

$pp_pic_holder.find('.pp_social').html(	<?=$pp_social?>);


Но это будет неправильно - facebook_like_link, это все определенные в плагине соц. кнопки. А надо html-код своей кнопки добавить к html-коду определенных.
Ответить с цитированием
  #7 (permalink)  
Старый 29.05.2017, 16:16
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от laimas Посмотреть сообщение
Ну я же писал как. Заменить в моем примере строку 2 на

$pp_social = function_exists('wp_ulike') ? wp_ulike('get') : null';


А вывод (в примере строка), перенести в файл js (строка 3)

$pp_pic_holder.find('.pp_social').html(	<?=$pp_social?>);


Но это будет неправильно - facebook_like_link, это все определенные в плагине соц. кнопки. А надо html-код своей кнопки добавить к html-коду определенных.
А разве я могу в файл js php-код вставлять
Ответить с цитированием
  #8 (permalink)  
Старый 29.05.2017, 16:17
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

что-то пока не получается... ((
а разве можно в js файл php-код вставлять?
<?=$pp_social?>
Ответить с цитированием
  #9 (permalink)  
Старый 29.05.2017, 16:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Igorsrt
а разве можно в js файл php-код вставлять?
Конечно, только в данном случае, это вставка РНР кода не в js-файл, а в вывод - include 'path/jquery.prettyPhoto.js'; поместит файл в поток, парсер его обработает и выполнит в нем РНР код.

Сообщение от Igorsrt
что-то пока не получается
Вставку не в этом месте делать надо, а там где описывается html-код кнопок. Кроме этого, в css файлах (а их несколько, так как в плагине можно менять темы) описать и стиль добавляемой кнопки.
Ответить с цитированием
  #10 (permalink)  
Старый 29.05.2017, 21:36
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

самое обидное, что там на самом деле все наверное достаточно просто - если я в медиафайлах (cms wordpress) вставляю в title вместо текста шорт-код плагина Ulike [wp_ulike] (насколько я понимаю, это тоже самое что и просто вызов php функции плагина, только для используется в самом тексте) - то у меня эта кнопка появляется вместо названия (правда только при просмотре единичных изображений, в галерее отображается текстом [wp_ulike])... т.е. получается, что проблема в том, что я не могу правильно задать переменную $pp_social где-то в php файлах, что бы js понял ее как html-код и отобразил в окне? ((

Последний раз редактировалось Igorsrt, 29.05.2017 в 22:15.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправить данные черен JS к PHP Smokvin AJAX и COMET 1 04.12.2014 13:34
Как сделать выполнение одного JS после выполнения другого vita1ii Events/DOM/Window 2 11.01.2013 18:52
Передать js переменную в php посредством ajax wayzer Элементы интерфейса 17 31.12.2012 14:41
Как вывести содержимое PHP файла с помощью JS? pavdin Серверные языки и технологии 6 22.12.2010 14:16
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23