blocks.html 4.81 KB
<ul class="top_nav">
		<li><a href="/">Сайт</a></li>
		<li><a href="/?p_name=admin_main">Админка</a></li>
		<li><a href="/?p_name=admin_tmpl">Шаблоны</a></li>
		<li class="current">Блоки отображаемые на странице</li>
</ul>

<div style="padding:10px;padding-top:0px;">
<form id="blocks_form" method="post" enctype="multipart/form-data" onsubmit="return false">
	<table  class="data" width="100%" align="left" >

	<tr class="header">
	  <td width="2%"><img onclick="table.orderby_id(this)" class="ASC" /></td>
	  <td width="15%"><img onclick="table.orderby_name(this)" class="ASC" />Название</td>
	  <td width="5%">Область</td>
	  <td width="5%"><img onclick="table.orderby_parser_name(this)" class="ASC" />Переменная</td>
	  <td width="4%"><img onclick="table.orderby_sort(this)" class="ASC" />Порядок</td>
	  <td width="3%" colspan="2" >Действие</td>
	</tr>
	
	<tr>
	  	<td colspan="7" style="padding:5px;text-align:right;">
	  		<strong>
	  			<a style="color:#F8A720;font-size:14px;" onclick="table.add_to_page()">Добавить новый блок</a>
	  		</strong>
	  	</td>
	</tr>
	 
	<tbody id="table_content">
			<tal:block metal:use-macro="inc/block_row.html/block_row">
				подключаем шаблон из файла inc/block_row.html
			</tal:block>
	</tbody>

	<tr>
	  	<td colspan="7" style="padding:5px;text-align:right;" class="form">
	  		<input type="button" value="Сортировать" onclick="table.order()" />
	  	</td>
	</tr>
	</table>
</form>
</div>

<script>/*<![CDATA[*/
	/*	клиентская часть, отвечает за аякс	*/
	
table = {
	'server' :"${MAIN_URL}/?p_name=admin_tmpl",
	'fid':${fid},
	'orderby_key' : false,
	'orderby_value'   : false,
}

table.lock = function(){
	wnd.onload = false;
	wnd.set_title('');
	wnd.set_content('${WAIT}');
	wnd.show();
}
table.unlock = function(){
	wnd.close();
}

	//	сортируем по id связи блока со страницей
table.orderby_id = function(img){
	if ( img.className == 'ASC' ){
		img.className='DESC';
	}else{
		img.className='ASC';
	}
	table.orderby_value = img.className
	table.orderby_key = 'orderby_id';
	table.reload();
}

table.orderby_name = function(img){
	if ( img.className == 'ASC' ){
		img.className='DESC';
	}else{
		img.className='ASC';
	}
	table.orderby_value = img.className
	table.orderby_key = 'orderby_name';
	table.reload();
}

table.orderby_parser_name = function(img){
	if ( img.className == 'ASC' ){
		img.className='DESC';
	}else{
		img.className='ASC';
	}
	table.orderby_value = img.className
	table.orderby_key = 'orderby_parser_name';
	table.reload();
}

table.orderby_sort = function(img){
	if ( img.className == 'ASC' ){
		img.className='DESC';
	}else{
		img.className='ASC';
	}
	table.orderby_value = img.className
	table.orderby_key = 'orderby_sort';
	table.reload();
}


	//	форма добавления блока на страницу
table.add_to_page = function(fid){
	wnd.open(table.server+'&act=ajax_blocks_to_page_form&id='+table.fid);	
}

table.edit= function(fid){
 
	wnd.open(table.server+'&act=ajax_blocks_edit&id='+fid);	
}
	//	сохранение блока на странице
table.blocks_save = function(){

	r = new request(  table.server+'&act=ajax_blocks_save&id='+table.fid );
	r.onload = function(rst){
		table.reload();
		wnd.close();
	}
	r.error = function(e){
	  alert(e);
	//o.$('error').innerHTML =e; 
	}
	r.form( o.$('edit_block') );
	
}


	
table.blocks_to_page_save = function(){

	r = new request(  table.server+'&act=ajax_blocks_to_page_save&id='+table.fid );
	r.onload = function(rst){
		table.reload();
		wnd.close();
	}
	r.error = function(e){
		o.$('error').innerHTML =e; 
	}
	r.form( o.$('add_blocks_to_page') );
	
}
	//	удаление блока со страницы
table.del = function(id){

	r = new request(  table.server+'&act=ajax_blocks_to_page_del&id='+table.fid );
	r.onrequest = function(){ 
		table.lock();
	};
	r.onload = function(rst){ 
		table.reload();
		table.unlock();
	};
	r.error = function(e){
		alert(e);
	}
	r.send( {'b_id':id} )
	

}
	//	сохранение сортировки для блоков на странице
table.order = function(){

	r = new request(  table.server+'&act=ajax_sort_blocks_to_page&id='+table.fid );
	r.onload = function(rst){
		table.reload();
	}
	r.error = function(e){
		alert(e); 
	}
	r.form( o.$('blocks_form') );
	
}


	//	перезагружаем таблицу страниц согласно соортировке и фильтрам
table.reload = function(){
	
	
	
	r = new request(  table.server+'&act=ajax_block_reload&id='+table.fid );
	
	r.onload = function(rst){ 
		o.$('table_content').innerHTML =rst.content;	
	};
	r.error = function(e){
		alert(e);
	}
	r.send( {'orderby_key':table.orderby_key, 'orderby_value':table.orderby_value} )
	
	

}
/*]]>*/</script>