Jump to content
Sign in to follow this  
xoxma

Как вставить в статью код php?

Recommended Posts

Как вставить в статью код php?

Есть страница, созданная в статьях, туда нужно вставить вот этот код робокассы:

<?
 // регистрационная информация (логин, пароль #1)
 // registration info (login, password #1) 
$mrh_login = "demo"; 
$mrh_pass1 = "password_1";

// номер заказа 
// number of order 
$inv_id = 0;

// описание заказа 
// order description 
$inv_desc = "Пополнение счета ROBOKASSA";

// сумма заказа 
// sum of order 
$def_sum = "10";

// тип товара
// code of goods 
$shp_item = 2;

// язык
// language 
$culture = "ru";

// кодировка 
// encoding 
$encoding = "utf-8";

// формирование подписи
// generate signature 
$crc = md5("$mrh_login::$inv_id:$mrh_pass1:shpItem=$shp_item");

// HTML-страница с кассой
// ROBOKASSA HTML-page
print "<html><script language=JavaScript ".
 "src='https://auth.robokassa.ru/Merchant/PaymentForm/FormFLS.js?".
 "MerchantLogin=$mrh_login&DefaultSum=$def_sum&InvoiceID=$inv_id".
 "&Description=$inv_desc&SignatureValue=$crc&shpItem=$shp_item".
 "&Culture=$culture&Encoding=$encoding'></script></html>";
?>

Но при вставке через редактор(исходный код), этот код не отображается корректно.

Как вставить его?

Share this post


Link to post
Share on other sites

Проще создать отдельный контроллер.

Share this post


Link to post
Share on other sites

Проще создать отдельный контроллер.

Не подскажете, как это реализовать?

Share this post


Link to post
Share on other sites

вставляйте просто html код. В доках должен быть пример простого html. А если нету, то просто вставьте скрипт

<script language=JavaScript src='https://auth.robokassa.ru/Merchant/PaymentForm/FormFLS.js?MerchantLogin=$mrh_login&DefaultSum=$def_sum&InvoiceID=$inv_id&Description=$inv_desc&SignatureValue=$crc&shpItem=$shp_item&Culture=$culture&Encoding=$encoding'></script>
предварительно заменив переменные типа $mrh_login на ваши

 

естественно добавлять только в режиме Исходник (есть такая кнопка при редактировании текста)

Share this post


Link to post
Share on other sites

Тут же нет "mrh_pass1" например.

На робокассе только пхп, перл и асп коды =(

Это же по идее тогда будет просто ссылка на оьработчик, а не на табличку, как у робокассы: http://www.robokassa.ru/ru/DemoShop/DemoFree.aspx#

Share this post


Link to post
Share on other sites

как нет, тут что ??

 

$crc = md5("$mrh_login::$inv_id:$mrh_pass1:shpItem=$shp_item");

только тут подстановкой просто не обойтись.. надо подумать..

 

Да и в доках все написано ))

http://www.robokassa.ru/ru/Doc/Ru/Interface.aspx

Share this post


Link to post
Share on other sites

тогда, если по быстрому, проще сделать php файл с выше указанным кодом, а загрузить его в форму через функцию джиквери load.

 

В теории что то получится.. надо пробовать.

Share this post


Link to post
Share on other sites

тёмный лес в общем для меня всё это =(

Share this post


Link to post
Share on other sites

Неужели никому не нужно было вставлять какой-либо код пхп в статью?

Share this post


Link to post
Share on other sites

Меня то же интересует вставка исполняемого php кода в статью! Если кто знает как это сделать, пожалуйста откликнитесь.

Share this post


Link to post
Share on other sites

Нашел решение такое:

Из админки в статью ставим такой код

<div id="idcod"></div>
<script type="text/javascript"><!--
$("#idcode").load("/code.php");
//--></script>

В корне сайта создаете файл code.php с нужным вам php кодом.

Share this post


Link to post
Share on other sites

И... чем отличается ваш решение от создания отдельного контроллера?

Тем более, что /code.php - это небезопасный путь к файлу.

 

фтопку такие советы

Share this post


Link to post
Share on other sites

Напишите пожалуйста как создать отдельный контролер? Мне это интересно.

Share this post


Link to post
Share on other sites

берет копию любого контроллера

и...

например

class ControllerCommonHeader extends Controller {

переименовываете файл и заголовок

 

class ControllerCommonMyCode extends Controller {

 

А теперь делайте в нем что хотите си сколько хотите и как хотите манипулируйте данными

 

ну да, а вызов  оставьте

<div id="idcod"></div>
<script type="text/javascript"><!--
$("#idcode").load("?route=common/mycode");
//--></script>
  • +1 1

Share this post


Link to post
Share on other sites

Спасибо большое за разъяснения.

Share this post


Link to post
Share on other sites

 

берет копию любого контроллера

и...

например

class ControllerCommonHeader extends Controller {

переименовываете файл и заголовок

 

class ControllerCommonMyCode extends Controller {

 

А теперь делайте в нем что хотите си сколько хотите и как хотите манипулируйте данными

 

ну да, а вызов  оставьте

<div id="idcod"></div>
<script type="text/javascript"><!--
$("#idcode").load("?route=common/mycode");
//--></script>

Что то браузер ругается: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/. Как поправить и подружится.

 
Как исправить?
Edited by arvaal

Share this post


Link to post
Share on other sites

прошло почти полгода, и вы до сих пор не сделали?

 

Я даже не понимаю, что за ошибка, которой не должно быть

Share this post


Link to post
Share on other sites

полгода   :-D

Edited by ArtenPitov

Share this post


Link to post
Share on other sites

прошло почти полгода, и вы до сих пор не сделали?

 

Я даже не понимаю, что за ошибка, которой не должно быть

 

Сделать то я сделал давно, но ошибку заметил недавно в новом браузере.

Вот как я сделал:

<div id="idcode"></div>
<script defer type="text/javascript"><!--
$(window).load(function(){
$("#idcode").load("/index.php?route=include/phpinclude/sharfkodeks");
});
//--></script>

И вылазиет в консоле эта гребаная ошибка.

Edited by arvaal

Share this post


Link to post
Share on other sites

странно, где он увидел синхронный запрос?

 

<script defer type="text/javascript"><!--
$(document).ready(function() {
$("#idcode").load("/index.php?route=include/phpinclude/sharfkodeks");
});
//--></script>

Share this post


Link to post
Share on other sites

странно, где он увидел синхронный запрос?

 

<script defer type="text/javascript"><!--

$(document).ready(function() {

$("#idcode").load("/index.php?route=include/phpinclude/sharfkodeks");

});

//--></script>

Вот что помогло на данный момент: 

$.ajaxPrefilter(function( options, originalOptions, jqXHR ) { options.async = true; });

Сообщение не появляется, но я не уверен что правильно сделал.

И еще перевод ошибки звучит так угражающе:

 

Синхронный XMLHttpRequest в основном потоке является устаревшим из-за его вредного воздействия на опыт конечного пользователя.

Edited by arvaal

Share this post


Link to post
Share on other sites

Не .. на опыт..

 

Это типа предупреждение, что страница может грузиться долго

 

Вот что помогло на данный момент: 

$.ajaxPrefilter(function( options, originalOptions, jqXHR ) { options.async = true; });

Я бы такое не делал..

Это настройка для всего аякса, ктио его знает, где оно может выстрелить.

 

А мой код не рабочий?

Share this post


Link to post
Share on other sites

Не .. на опыт..

 

Это типа предупреждение, что страница может грузиться долго

Я бы такое не делал..

Это настройка для всего аякса, ктио его знает, где оно может выстрелить.

 

А мой код не рабочий?

Рабочий но с уже известным предупреждением. У меня из за этого предупреждения закраличь мысли что поисковики меня кинут в фильтр.

Share this post


Link to post
Share on other sites

А не проще вставить код через Источник находящийся в панели инструментов ?

Share this post


Link to post
Share on other sites

я извиняюсь, подскажите пожалуйста

 

версия opencart 2.3

я копирую файл catalog\controller\common\header.php

 

называю его test.php:

<?php
class ControllerCommonTest extends Controller {
	public function test() {
		print('test');
	}
}

как мне вызвать этот контроллер? Я так понимаю, что так:

<div id="idcod"></div>
<script type="text/javascript"><!--
$("#idcode").load("?route=common/test");
//--></script>

только не срабатывает :(

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.