parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Вывод результата

Mizter Egoist 03.12.2015 15:34

Добрый день! Столкнулся с такой проблемой.
На сайте есть что-то вроде фронт-контроллера, он по URI и $form определяет страницы.
Захотелось выводить правильно заголовок и ключевые слова.
auto.p содержит в себе скелет сайта, весь html.
К нему я подключаю rights.p который анализирует URI и $form и выводит страницу с содержимым.
Есть еще seo.p в котором также анализируется URI и $form, но уже выводиться в виде хеша заголовок, ключевые слова и описание страницы.
Не могу передавать с rights.p и seo.p на auto.p заголовок и все остальное, не знаю как правильно вызвать.

Пытался в auto.p вызывать и $seo.out.$result.title и по разному, не знаю как и вообще правильно ли я пытаюсь.

Вот кусок из auto.p:
@USE
...
/bulk/genus/seo.p

@init[]
...
$seo[^info::init[]]
$site[^get.getSite[]]

@body[]
<main>
	<div id="content">
		^lSidebar[]
		^rSidebar[]
		^content[]
	</div>
	<div class="bumper"></div>
</main>
@content[]
^rights.page_rules[]
Вот кусок из rights.p:
@page_rules[]
^seo.in[
	^if(def $form:url){$.url[$form:url]}
	^if(def $form:uri){$.uri[$form:uri]}
	^if(def $form:pid){$.pid[$form:pid]}
	$.req[$request:uri]
]
^path[
	^if(def $form:url){$.url[$form:url]}
	^if(def $form:uri){$.uri[$form:uri]}
	^if(def $form:pid){$.pid[$form:pid]}
	$.request[$request:uri]
]
Ниже код seo.p (хочу @out передавать в auto.p и там ставить заголовки и прочее):
@in[params]
$incoming[
	$.url[$params.url]
	$.uri[$params.uri]
	$.pid[$params.pid]
	$.req[$params.req]
]
$slash[^incoming.req.split[/;lh]]
$address[$incoming.req]
$address[^address.match[^^/admin(.+)]]
^if(def $slash.3){
	...
	^if($cEntry){
		^out[
			$.title[$cEntry.title]
			$.keywords[$cEntry.keywords]
			$.description[^if(^cEntry.text.length[] >= 160){^cEntry.text.left(160)...}{^cEntry.text.left(160)}]
		]
	}
	^if($cGoody){
		...
	}
}
^if(def $slash.2){
	...
	^if($cHeading){
		^out[
			$.title[$cHeading.title]
			$.keywords[]
			$.description[]
		]
	}
	^if($cEntry){
		...
	}
	^if($cGoody){
		...
	}
}
^if(def $slash.1){
	...
	^if($cSection){
		...
	}
	^if($cEntry){
		...
	}
	^if($cGoody){
		...
	}
	^if($get.auth.gID == 1 && $incoming.req eq '/admin${address.1}'){
		...
	}
	^if($incoming.req eq '/login^if(def $query.1){?${query.1}}'){
		...
	}
	^if($incoming.req eq '/login^if(def $query.1){?${query.1}}'){
		...
	}
	^if($incoming.req eq '/^if(def $query.1){?${query.1}}'){
		^out[
			^if($site){
				$.title[$site.name]
				$.keywords[$site.keywords]
				$.description[$site.description]
			}{
				$.title[Главная]
				$.keywords[]
				$.description[]
			}
		]
	}
}

@out[params]
$result[
	$.title[$params.title]
	$.keywords[$params.keywords]
	$.description[$params.description]
]