Редактируемые страницы в FuelCMS

Я начал работать с CMS (и codeIgniter). Я выбрал для FuelCMS из-за языков, …

Пока что работает отлично. У меня есть контроллер, который обрабатывает страницы, языки, ..

Я сделал иерархию страниц под представлениями:

де / стр.1

де / стр.2

ик / стр.1

ик / стр.2

Но теперь я хочу редактировать конкретное содержание этой страницы. У меня есть 2 блока, которые я использую все время: верхний и нижний колонтитулы.
Страница1 выглядит так:

<?php $this->load->view('_blocks/de/header')?>
// HERE I WANT TO GET THE EDITABLE CONTENT OF THE PAGE...
<?php $this->load->view('_blocks/de/footer')?>

Но мне не ясно, как я могу получить страницу в fuelCMS. Если я сделаю их непосредственно в CMS, чтобы протестировать некоторое время назад, это сработало. Но тогда я не могу работать с моим пользовательским контроллером.

Как я могу показать страницы в CMS и позволить им редактировать только контентную часть моей страницы?

0

Решение

Я не слежу за вашим вопросом на 100%, но постараюсь помочь. Предполагая, что вы используете версию 1.0, и вы хотите иметь редактируемые макеты под «страницами» в интерфейсе администратора.

Первое, что вам нужно сделать, это открыть /fuel/config/MY_fuel.php и добавить их:

// languages for pages. The key is saved to the page variables
$config['languages'] = array(
'en' => 'English',
'de' => 'Dutch'
);

$config['language_mode'] = 'segment';

Затем откройте /fuel/config/MY_fuel_layouts.php и создайте макет. Вот основной:

# Common meta
$common_meta = [
'meta' => [
'type'  => 'fieldset',
'label' => 'Meta',
'class' => 'tab'
],
'meta_section' => [
'type'  => 'copy',
'label' => 'The following fields control the meta information found in the head of the HTML.'
],
'body_class' => [],
'page_title' => [
'label' => lang('layout_field_page_title'),
'description' => 'This displays at the very top of the browser bar.'
],
'meta_description' => [
'style' => 'width: 520px',
'label' => lang('layout_field_meta_description')
],
'meta_keywords' => array(
'style' => 'width: 520px',
'label' => lang('layout_field_meta_keywords')
]
];

# Common content
$common_content = [
'common_content' => [
'type'  => 'fieldset',
'label' => 'Content',
'class' => 'tab'
],
'page_heading' => array(
'label' => 'Page heading',
'description' => 'This displays at the top of the page in the content'
],
'body' => array(
'label' => lang('layout_field_body'),
'type'  => 'textarea',
'description' => lang('layout_field_body_description')
]
];

$main_layout = new Fuel_layout('main');
$main_layout->set_description('This is the layout for most pages.');
$main_layout->set_label('Main');
$main_layout->add_fields($common_content);
$main_layout->add_fields($common_meta);

Убедитесь, что у вас есть файл с именем main.php в / fuel / application / views / _layouts

Когда вы перейдете на страницу / создать в FUEL, вы увидите «язык», выбранный под макетом в верхней части страницы. Таким образом вы устанавливаете разный языковой контент для одного макета.

Вот как эти две страницы сделаны:
http://impression.co.nz/sell
http://impression.co.nz/ch/sell

Если вам все еще нужен контроллер для перехвата, вы можете отобразить страницу cms из контроллера с помощью:

$this->fuel->pages->render('url', [], ['render_mode' => 'cms']);

Где url — это ваше значение «location» в админке, а пустой массив — это некоторые переменные, которые вы можете передать.

Это помогает? или далеко?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]