CMS DataLife Engine - Система управления сайтами

Sander1

Сомнительное нововведение

Рекомендуемые сообщения

engine/modules/show.short.php

Разве эта строка должна находиться внутри цикла while?

$xfields = xfieldsload();

Я бы так вообще предложил такой вариант, перед while:

	$xfields = xfieldsload();
	foreach ($xfields as $k => $v) {
		if (stripos($tpl->copy_template, '_'.$v[0].']') == false) {
			unset($xfields[$k]);
		}
	}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо будет изучить вопрос и посмотреть внимательно. Пока не готов ответить. Взял на заметку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да xfieldsload() в цикле это не хорошо, уберем.

 

Ваш цикл неверен, могут быть проблемы с тегами [ifxfvalue tagname="tagvalue"] Текст [/ifxfvalue] они могут не сработать. Нужно либо убирать '_', но тогда могут быть ложные срабатывания, либо просто не использовать подобный перебор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Точно, подзабыл я про тег ifxfvalue.

Но в любом случае, мне кажется, что лучше изначально исключить не используемые в шаблоне доп.поля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас