dimayakovlev.ru


Функция сохранения вывода компонента в переменную для GetSimple CMS

В GetSimple CMS 3.3.x для вывода компонента в шаблоне оформления страницы используется функция get_component(). Но в ряде случаев вместо вывода может потребоваться сохранение содержания компонента в переменной. Если такая задача встречается более одного раза, то удобнее использовать собственную функцию.

Для этого разместите следующий фрагмент PHP кода в файле functions.php вашей темы оформления.

/**
 * Return Component
 *
 * Returns a components output
 *
 * @param  string $id component id
 * @return string component buffered output
 */
function return_component($id) {
  ob_start();
  get_component($id);
  return ob_get_clean();
}

Теперь содержание компонента может быть сохранено в переменной для дальнейшего использования следующим образом.

$out = return_component('my-component');
// Обработка вывода компонента my-component
$out = strtolower($out);
echo $out;

Следует иметь в виду, что в GetSimple CMS 3.4.x существует стандартная функция return_component(), работающая аналогично рассмотренной. Поэтому для обеспечения переносимости кода темы оформления между различными версиями GetSimple CMS, перед определением функции следует произвести проверку существования функции.

if (!function_exists('return_component')) {
  function return_component($id) {}
}