Создаю возможность сортировки отображения

Здравствуйте! Подскажите пожалуйста, как поместить в массив тело типа “tpl”?

Давайте больше деталей

Создал свой сортинг на подобие product.tpl sorting.tpl. Моя цель на отобразить собственные шаблоны при нажатии кнопок.
У продуктов такая сортировка:

$dir_params = array(
        'dir' => 'templates/blocks/product_templates',
        'get_dirs' => false,
        'get_files' => true,
        'extension' => '.tpl'
    );
    $view_templates[$dir_params['dir']] = $theme->getDirContents($dir_params, Themes::STR_MERGE);

    foreach ((array) Registry::get('addons') as $addon_name => $data) {
        if ($data['status'] == 'A') {
            $dir_params['dir'] = "templates/addons/{$addon_name}/blocks/product_templates";
            $view_templates[$dir_params['dir']] = $theme->getDirContents($dir_params, Themes::STR_MERGE, Themes::PATH_ABSOLUTE, Themes::USE_BASE);
        }
    }

    // Scan received directories and fill the "views" array
    foreach ($view_templates as $dir => $templates) {
        foreach ($templates as $file_name => $file_info) {
            $template_description = fn_get_file_description($file_info[Themes::PATH_ABSOLUTE], 'template-description', true);
            $_title = fn_basename($file_name, '.tpl');
            $product_details_views[$_title] = empty($template_description) ? __($_title) : $template_description;
        }
    }
$selected_view = Registry::get('settings.Appearance.default_product_details_view');
    if (!empty($category_id)) {
        $selected_view = db_get_field('SELECT details_layout FROM ?:products WHERE product_id = ?i', $product_id);
        $selected_view = fn_normalize_product_overridable_field_value('details_layout', $selected_view);

        if (empty($selected_view) || $selected_view === 'default') {
            $category_id = fn_get_product_main_category_id($product_id);
            $selected_view = fn_get_product_details_view_by_category($category_id);
        }
        if (empty($selected_view) || $selected_view === 'default') {
            $selected_view = Registry::get('settings.Appearance.default_product_details_view');
        }
    }

    $theme = Themes::areaFactory('C');

    if ($theme->getContentPath("templates/blocks/product_templates/{$selected_view}.tpl")) {
        $result = "blocks/product_templates/{$selected_view}.tpl";
    } else {
        foreach ((array) Registry::get('addons') as $addon_name => $data) {
            if ($data['status'] == 'A') {
                if ($theme->getContentPath(
                    "templates/addons/{$addon_name}/blocks/product_templates/{$selected_view}.tpl",
                    Themes::CONTENT_FILE, Themes::PATH_ABSOLUTE, Themes::USE_BASE
                )) {
                    $result = "addons/{$addon_name}/blocks/product_templates/{$selected_view}.tpl";
                    break;
                }
            }
        }
    }

Вот думаю как свои шаблоны вставить правильно и коротко. У меня есть папка в design где хранятся шаблоны tpl. Есть 3 кнопки которые нажимает и она меняет отображение