Я использую Wordpress с темой конструктора. Я наткнулся на следующий totorial о строительстве легкого применения Crud: http://www.jeasyui.com/tutorial/app/crud3.phpКак правильно вставлять PHP-код в шаблон страницы Wordpress?
Я подгонять его к моим потребностям, правильно работать демо можно найти здесь: http://www.szerelmifajdalomklinika.hu/wp-content/themes/constructor/index2.html#
Код для index2.html является:
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
<style type="text/css">
form{
margin:0;
padding:0;
}
.dv-table td{
border:0;
}
.dv-table input{
border:1px solid #ccc;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/datagrid-detailview.js"></script>
<script type="text/javascript">
$(function(){
$('#dgpartner').datagrid({
view: detailview,
detailFormatter:function(index,row){
return '<div class="ddv"></div>';
},
onExpandRow: function(index,row){
var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv');
ddv.panel({
border:false,
cache:true,
href:'show_form.php?index='+index,
onLoad:function(){
$('#dgpartner').datagrid('fixDetailRowHeight',index);
$('#dgpartner').datagrid('selectRow',index);
$('#dgpartner').datagrid('getRowDetail',index).find('form').form('load',row);
}
});
$('#dgpartner').datagrid('fixDetailRowHeight',index);
}
});
});
function saveItem(index){
var row = $('#dgpartner').datagrid('getRows')[index];
var url = row.isNewRecord ? 'save_user.php' : 'update_user.php?partner_id='+row.partner_id;
$('#dgpartner').datagrid('getRowDetail',index).find('form').form('submit',{
url: url,
onSubmit: function(){
return $(this).form('validate');
},
success: function(data){
data = eval('('+data+')');
data.isNewRecord = false;
$('#dgpartner').datagrid('collapseRow',index);
$('#dgpartner').datagrid('updateRow',{
index: index,
row: data
});
}
});
}
function cancelItem(index){
var row = $('#dgpartner').datagrid('getRows')[index];
if (row.isNewRecord){
$('#dgpartner').datagrid('deleteRow',index);
} else {
$('#dgpartner').datagrid('collapseRow',index);
}
}
function destroyItem(){
var row = $('#dgpartner').datagrid('getSelected');
if (row){
$.messager.confirm('Confirm','Are you sure you want to remove this user?',function(r){
if (r){
var index = $('#dgpartner').datagrid('getRowIndex',row);
$.post('destroy_user.php',{partner_id:row.partner_id},function(){
$('#dgpartner').datagrid('deleteRow',index);
});
}
});
}
}
function newItem(){
$('#dgpartner').datagrid('appendRow',{isNewRecord:true});
var index = $('#dgpartner').datagrid('getRows').length - 1;
$('#dgpartner').datagrid('expandRow', index);
$('#dgpartner').datagrid('selectRow', index);
}
</script>
<table id="dgpartner" title="Partnerek" style="width:900px;height:250px"
url="get_users.php"
toolbar="#toolbar" pagination="true"
fitColumns="true" singleSelect="true">
<thead>
<tr>
<th field="partner_nickname" width="50">Partner beceneve</th>
<th field="partner_description" width="50">Partner leírása</th>
</tr>
</thead>
</table>
<div id="toolbar">
<a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newItem()">New</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyItem()">Destroy</a>
</div>
Я хотел бы сделать это на шаблоне страницы. Его можно найти здесь http://www.szerelmifajdalomklinika.hu/kapcsolati-vazlat/
Код для файла шаблона-шаблона szerelmi-partner_raw.php следующий (abowe вставили в контейнер):
<?php
/*
Template Name: Kapcsolat-oldal
*/
/**
* @package WordPress
* @subpackage Constructor
*
*/
get_header(); ?>
<div id="content" class="box shadow opacity <?php the_constructor_layout_class() ?>">
<div id="container" >
<?php $post = get_page(get_query_var('page_id')); $content = apply_filters('the_content', $post->post_content); echo $content; ?>
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
<style type="text/css">
form{
margin:0;
padding:0;
}
.dv-table td{
border:0;
}
.dv-table input{
border:1px solid #ccc;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/datagrid-detailview.js"></script>
<script type="text/javascript">
$(function(){
$('#dgpartner').datagrid({
view: detailview,
detailFormatter:function(index,row){
return '<div class="ddv"></div>';
},
onExpandRow: function(index,row){
var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv');
ddv.panel({
border:false,
cache:true,
href:'show_form.php?index='+index,
onLoad:function(){
$('#dgpartner').datagrid('fixDetailRowHeight',index);
$('#dgpartner').datagrid('selectRow',index);
$('#dgpartner').datagrid('getRowDetail',index).find('form').form('load',row);
}
});
$('#dgpartner').datagrid('fixDetailRowHeight',index);
}
});
});
function saveItem(index){
var row = $('#dgpartner').datagrid('getRows')[index];
var url = row.isNewRecord ? 'save_user.php' : 'update_user.php?partner_id='+row.partner_id;
$('#dgpartner').datagrid('getRowDetail',index).find('form').form('submit',{
url: url,
onSubmit: function(){
return $(this).form('validate');
},
success: function(data){
data = eval('('+data+')');
data.isNewRecord = false;
$('#dgpartner').datagrid('collapseRow',index);
$('#dgpartner').datagrid('updateRow',{
index: index,
row: data
});
}
});
}
function cancelItem(index){
var row = $('#dgpartner').datagrid('getRows')[index];
if (row.isNewRecord){
$('#dgpartner').datagrid('deleteRow',index);
} else {
$('#dgpartner').datagrid('collapseRow',index);
}
}
function destroyItem(){
var row = $('#dgpartner').datagrid('getSelected');
if (row){
$.messager.confirm('Confirm','Are you sure you want to remove this user?',function(r){
if (r){
var index = $('#dgpartner').datagrid('getRowIndex',row);
$.post('destroy_user.php',{partner_id:row.partner_id},function(){
$('#dgpartner').datagrid('deleteRow',index);
});
}
});
}
}
function newItem(){
$('#dgpartner').datagrid('appendRow',{isNewRecord:true});
var index = $('#dgpartner').datagrid('getRows').length - 1;
$('#dgpartner').datagrid('expandRow', index);
$('#dgpartner').datagrid('selectRow', index);
}
</script>
<table id="dgpartner" title="Partnerek" style="width:900px;height:250px"
url="get_users.php"
toolbar="#toolbar" pagination="true"
fitColumns="true" singleSelect="true">
<thead>
<tr>
<th field="partner_nickname" width="50">Partner beceneve</th>
<th field="partner_description" width="50">Partner leírása</th>
</tr>
</thead>
</table>
<div id="toolbar">
<a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newItem()">New</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyItem()">Destroy</a>
</div>
</div><!-- id='container' -->
<?php get_constructor_sidebar(); ?>
</div><!-- id='content' -->
<?php get_footer(); ?>
Как вы можете видеть, второй вариант делает не работает правильно. Даже заголовок таблицы отображается плохо. Как я могу соответствующим образом импортировать этот код в шаблон страницы?
Некоторые мысли о том, что проблема может быть: В называемые файлы, (например, get_users.php), есть include 'conn.php';
с $conn = @mysql_connect(xxx);
возможно, это должно быть взаимозаменяемыми с подключением к WordPress по умолчанию? Если да, то как?
Упомянутые файлы включают в себя, и есть некоторые вещи за пределами header.php темы. Если я копирую все там, это не решит проблему.
Благодарим за помощь.
Sziro
«Как вы можете видеть, второй вариант работает неправильно». На самом деле мы не можем видеть. Что не работает во второй версии, что вам нужно для работы? –
Я включил ссылки для первого и второго вариантов: http://www.szerelmifajdalomklinika.hu/wp-content/themes/constructor/index2.html# и http://www.szerelmifajdalomklinika.hu/kapcsolati-vazlat/. Что нужно для работы, это листинг, добавление нового элемента, модификация, удаление. Они (индекс html и шаблон php) находятся в одном каталоге и вызывают одни и те же файлы php. – Sziro