Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как сделать шаблонизатор ?

Как сделать шаблонизатор ?


     15.06.2017    Все вопросы » Общие вопросы по PHP    1100

вопрос
Здравствуйте ! Мучаюсь весь день. Перерабатываю кое-как одну функцию.

Как заставить шаблонизатор обрабатывать и передавать значение ?

if (stripos ( $tpl->copy_template, "{fullimage-" ) !== false ) {

$xfdata = xfieldsdataload($row['xfields']);
$images = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $xfdata[$imgvalue], $media);
$data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);

foreach($data as $url) {
$info = pathinfo($url);
if (isset($info['extension'])) {
if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue;
$info['extension'] = strtolower($info['extension']);
if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);
}
}

if ( count($images) ) {
$i=0;
foreach($images as $url) {
$i++;
$tpl->copy_template = str_replace( '{fullimage-'.$i.'}', $url, $tpl->copy_template );
$tpl->copy_template = str_replace( '[fullimage-'.$i.']', "", $tpl->copy_template );
$tpl->copy_template = str_replace( '[/fullimage-'.$i.']', "", $tpl->copy_template );


}

}

$tpl->copy_template = preg_replace( "#\[fullimage-(.+?)\](.+?)\[/fullimage-(.+?)\]#is", "", $tpl->copy_template );
$tpl->copy_template = preg_replace( "#\\{fullimage-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );

}


Как заставить {fullimage_значение-x} передавать значение в $imgvalue ?

Ответил: PunPun


Вместо $imgvalue напишите название своего доп поля в скобках.

2 комментария

Morse
Юзер

Morse - 15 июня 2017 11:21 -

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

LazyDev
PHP-developer

LazyDev - 16 июня 2017 22:39 -

Morse,
$xfdata['pole1'] . $xfdata['pole2'] . $xfdata['pole3']

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх