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

Как правильно вставить код модуля в show.full.php?


     23.01.2021    dle, модуль, show.full.php    Общие вопросы по PHP, Хаки, MySQL    1278

вопрос

$xflist = dle_cache( $xfname, $config['skin'] );
if(!$xflist) {
	$sql_result = $db->query( "SELECT xfields FROM " . PREFIX . "_post WHERE approve=1 AND category=$category_id");
	while ( $rows = $db->get_row( $sql_result ) ) {
		$xfields[] = $rows;
	}
	$stack = array();
	foreach($xfields as $value){
		if($value[xfields]){
			$row = xfieldsdataload($value[xfields]);
			if($row[$xfname]){
				$rowdata = explode( "~", $row[$xfname]);
				foreach($rowdata as $value){
					if($value){
						$value = trim($value);
						array_unshift($stack, $value);
					}
				}
			}
		}
	}
	//$stack = array_unique($stack);
	sort ($stack);
  	$stack = array_sum($stack) / count($stack);
	//foreach( $stack as $value ){
		//$xflist = $value;
	//}
	create_cache( $xfname, $xflist, $config['skin'] );
}
echo number_format($stack, 0, '', ' ');

Подключается он из вне:

{include file="engine/modules/fx.php?xfname=item"}


Модуль выводит все используемые значения в доп поле.

Но я хочу использовать его в файле show.full.php. Вставлял этот код после

$tpl->set( '{full-story}', $row['full_story'] );

И вместо echo вывожу результат тегом $tpl но ничего не происходит. Как правильно адаптировать код под show.full ?

Ответа пока нет


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

TeraMoune
Эксперт

TeraMoune - 24 января 2021 00:29 -

Перенести код выше\ниже
$tpl->set( '{full-story}', $row['full_story'] );


Дописать еще один $tpl->set но вместо $row['full_story'] подставить number_format($stack, 0, '', ' '), тег прописать свой по которому будет выводится в шаблоне. А в коде убрать echo number_format($stack, 0, '', ' ');

Тестовый репозиторий установки плагинов: teramoune

Orlando_blur
Юзер

Orlando_blur - 24 января 2021 01:21 -

Дело в том что я это и делал, доп поле изначально указывается в include через xfname=item
А если я выведу тегом {item} например используя $tpl то как мне теперь указывать какое доп поле должно быть?

TeraMoune
Эксперт

TeraMoune - 24 января 2021 02:41 -

Лучше в стол заказов опубликуй задачу. Объяснять нету смысла не поймёте.
Данный код нужно использовать вместе с кодом который бы обрабатывал новые теги по типу как это сделано с выводом доп полей. Есть код который ловит все теги в шаблоне с дополнительными словами по регулярке, и для каждого найденного вхождения применяет вызов обратной функции, которая выполняет код и возвращает ответ с использованием данных. Например тег custom таким образом работает и теги доп полей и другие теги типа {tagname_xxx}

Пробуйте переделать из существующих подобных функций.

P.S. Но лучше оставьте это как есть, какая ведь разница в конечном итоге ? Подумаешь букв больше прописать в шаблоне чтобы вывести данные. Перенос ничего не изменит совсем.

Тестовый репозиторий установки плагинов: teramoune

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

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

наверх