FuelCMS

时间:2015-09-30 13:23:44

标签: php codeigniter fuelcms

我开始使用CMS(和codeIgniter)。因为语言,我选择了FuelCMS ......

到目前为止,它运作正常。我有一个控制器来处理页面,语言,..

我在视图下制作了一个页面层次结构:

  

DE /第1页

     

DE / 2页

     

英国/第1页

     

英国/第2页

但现在我想编辑该页面的具体内容。我总是使用2个块:页眉和页脚。 Page1看起来像这样:

<?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')?>

但我不清楚如何在燃料管理系统中获取该页面。如果我直接在CMS中制作它们以便在一段时间之前测试它的效果。但是我无法使用自定义控制器。

如何在CMS中显示页面,只让他们编辑页面的内容部分?

1 个答案:

答案 0 :(得分: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);

确保您在/ fuel / application / views / _layouts中有一个名为main.php的文件

当您前往页面/在FUEL中创建时,您会在页面顶部的布局下看到“语言”选项。这就是为同一布局设置不同语言内容的方法。

以下是这两个页面的制作方法: http://impression.co.nz/sell http://impression.co.nz/ch/sell

如果仍需要控制器进行拦截,可以使用以下命令从控制器渲染cms页面:

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

其中url是admin中的“location”值,而空数组是某些vars,您可能想要传递它。

这有帮助吗?或者离开?