Перейти к содержимому


Партнерская программа Kredov

Кнопка поделиться кодом плеера.

#1 Шуртух

Шуртух
  • Пользователь
  • 97 сообщений
  • Репутация: 0
0

Отправлено 03 Август 2016 - 20:46

Привет.

Есть плеер и есть его код которым он вставлен на мой сайт, но в плеере нет возможности поделиться кодом плеера для тех кто хочет вставить его на свои сайты..вопрос: как сделать кнопку под плеером с его кодом, чтоб каждый желающий мог его скопировать и вставить на свой сайт?

Как, примерно, на ютубе "html-код"

Спасибо.


 

 

  • 0

#2 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 04 Август 2016 - 11:35

Привет. Есть плеер и есть его код которым он вставлен на мой сайт, но в плеере нет возможности поделиться кодом плеера для тех кто хочет вставить его на свои сайты..вопрос: как сделать кнопку под плеером с его кодом, чтоб каждый желающий мог его скопировать и вставить на свой сайт? Как, примерно, на ютубе "html-код"

 
Чтоб "как, примерно, на ютубе", это как-то так:
 
<?php
//в переменную $code помещаем код плеера, которым он вставлен на ваш сайт:
$code = '<iframe width="850" height="480" src="https://www.youtube.com/embed/DWWtuX6Uxog" frameborder="0" allowfullscreen></iframe>';
//командой echo выводим на экран плеер с видео, а под ним его код:
echo $code, '
<p>HTML код, чтоб каждый желающий мог его скопировать и вставить на свой сайт:</p>
 <input style="width: 850px;" type="text" value="', htmlspecialchars($code), '">
';
?>

Сообщение отредактировал yury: 04 Август 2016 - 11:43

  • 0

#3 Шуртух

Шуртух
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 04 Август 2016 - 17:42

@yury,Спасибо за ответ, но для меня это сложновато..не успею по времени, чтоб разобраться в этом. Хотел бы еще спросить, можно ли в спойлер этот код ифрейм вывести в теге <textarea>? То есть это работает, но можно ли так, в смысле безопасности какой или еще чего? 


Сообщение отредактировал Шуртух: 04 Август 2016 - 17:43

  • 0

#4 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 04 Август 2016 - 18:23

@yury,Спасибо за ответ, но для меня это сложновато..не успею по времени, чтоб разобраться в этом. Хотел бы еще спросить, можно ли в спойлер этот код ифрейм вывести в теге? То есть это работает, но можно ли так, в смысле безопасности какой или еще чего?


Почти ничего не понял, что вы спрашиваете.
Какое место сложновато (в примере всего 2 команды, про обе в комментариях прописано, что они делают)? Что за спойлер в теге? При чем тут безопасность?
Выражайтесь яснее.

В примере выше код выводится в теге <input>. Если хочется <textarea>, то так:
<?php
//в переменную $code помещаем код плеера, которым он вставлен на ваш сайт:
$code = '<iframe width="850" height="480" src="https://www.youtube.com/embed/DWWtuX6Uxog" frameborder="0" allowfullscreen></iframe>';
//командой echo выводим на экран плеер с видео, а под ним его код:
echo $code, '
<p>HTML код, чтоб каждый желающий мог его скопировать и вставить на свой сайт:</p>
<textarea style="width: 850px;">', htmlspecialchars($code), '</textarea>
';
?>

Сообщение отредактировал yury: 04 Август 2016 - 18:32

  • 1

#5 Шуртух

Шуртух
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 06 Август 2016 - 23:49

@yury, Мне это надо в одну запись вставить, а в записи php не работает. Плагин надо устанавливать. А насчет спойлера я ошибся..вообще не то написал. 

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


  • 0

#6 Шуртух

Шуртух
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 07 Август 2016 - 00:09

@yury, Ну вроде сделал, чтоб в запись можно было php добавлять, осталось только понять как сделать, что, поле с кодом открывалось по кнопке. 


Сообщение отредактировал Шуртух: 07 Август 2016 - 00:10

  • 0

#7 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 07 Август 2016 - 16:13

@yury, Ну вроде сделал, чтоб в запись можно было php добавлять, осталось только понять как сделать, что, поле с кодом открывалось по кнопке.

Чтобы открывалось по кнопке, это желательно JS прикрутить или JQuery.
На простом JS это как-то так будет:
<?php
$code = '<iframe width="850" height="480" src="https://www.youtube.com/embed/DWWtuX6Uxog" frameborder="0" allowfullscreen></iframe>';
echo $code;
?>
<p>HTML код, чтоб каждый желающий мог его скопировать и вставить на свой сайт:</p>
<div class="spoiler">
<input type="button" value="Поделиться"; class="input-button" onclick="if (this.parentNode.getElementsByTagName('div')[0].style.display != '') { this.parentNode.getElementsByTagName('div')[0].style.display = ''; this.value = 'Скрыть'; } else { this.parentNode.getElementsByTagName('div')[0].style.display = 'none';  this.value = 'Поделиться'; }"/>
<div style="display: none;">
<input style="width: 850px; type="text" value="<?php echo htmlspecialchars($code); ?>"/>
</div></div>
На JQuery по-красивее код будет, но нужно еще саму библиотеку подцеплять.

Сообщение отредактировал yury: 07 Август 2016 - 16:14

  • 0

#8 Шуртух

Шуртух
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 07 Август 2016 - 18:55

@yury,С этим что-то не получается..так-то все нормально работает..только вот дополнительно вылезает еще вот такая штука 

$inline_execute_output = ob_get_contents();ob_end_clean();

  • 0

#9 Шуртух

Шуртух
    Topic Starter
  • Пользователь
  • 97 сообщений
  • Репутация: 0

Отправлено 07 Август 2016 - 19:16

@yury,я внес изменения в function.php, чтоб можно было в записи добавлять такие коды..в файл функции вставлено вот это: 

function exec_php($matches){
	eval('ob_start();'.$matches[1].'$inline_execute_output = ob_get_contents();ob_end_clean();');
	return $inline_execute_output;
}
function inline_php($content){
	$content = preg_replace_callback('/\[exec\]((.|\n)*?)\[\/exec\]/', 'exec_php', $content);
	$content = preg_replace('/\[exec off\]((.|\n)*?)\[\/exec\]/', '$1', $content);
	return $content;
}
add_filter('the_content', 'inline_php', 0);

И вот с последним Вашим кодом получается какие-то глюки...(вылезает под кнопкой поделиться "$inline_execute_output = ob_get_contents();ob_end_clean();');"а если просто вставляю в php файл, то все работает хорошо.


  • 0

#10 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 07 Август 2016 - 20:01

И вот с последним Вашим кодом получается какие-то глюки...(вылезает под кнопкой поделиться "$inline_execute_output = ob_get_contents();ob_end_clean();');"а если просто вставляю в php файл, то все работает хорошо.

Это глюки не с кодом, а с вашим способом подружить php с CMS. Ваш способ не умеет обращаться с html-вставками в php-код, а они были в предыдущем примере.

Короче, попробуйте так. "Глюки" должны уйти:
<?php
$code = '<iframe width="850" height="480" src="https://www.youtube.com/embed/DWWtuX6Uxog" frameborder="0" allowfullscreen></iframe>';
echo $code, '
<p>HTML код, чтоб каждый желающий мог его скопировать и вставить на свой сайт:</p>
<div class="spoiler">
	<input type="button" value="Поделиться"; onclick="if (this.parentNode.getElementsByTagName(\'div\')[0].style.display != \'\') { this.parentNode.getElementsByTagName(\'div\')[0].style.display = \'\'; this.value = \'Скрыть\'; } else { this.parentNode.getElementsByTagName(\'div\')[0].style.display = \'none\';  this.value = \'Поделиться\'; }"/>
	<div style="display: none;">
		<input style="width: 850px; type="text" value="', htmlspecialchars($code), '"/>
	</div>
</div>';
?>

Сообщение отредактировал yury: 07 Август 2016 - 20:06

  • 1

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru