- concrete5 Cookbook
- David Strack
- 269字
- 2021-08-13 16:16:01
Creating custom block templates
All blocks come with a default view template, view.php
. concrete5 also supports alternative templates, which users can enable through the concrete5 interface. You can also enable these alternative templates through your custom PHP code.
Getting ready
You will need a block type created and installed already. In this recipe, we are going to add a template to the block type that we created at the beginning of the chapter.
How to do it...
The steps for creating custom block templates are as follows:
- Open your block's directory.
- Create a new directory in your block's directory called
templates/
. - Create a file called
no_title.php
intemplates/
. - Add the following HTML code to
no_title.php
:<div class="content"> <?php echo $content ?> </div>
- Activate the template by visiting a page that contains this block.
- Enter edit mode on the page and click on the block.
Click on "Custom Template".
- Choose "No Title" and save your changes.
There's more...
You can specify alternative templates right from the block controller, so you can automatically render a different template depending on certain settings, conditions, or just about anything you can think of. Simply use the render()
function in a callback that gets called before the view is rendered.
public function view() { $this->render('templates/no_title'); }
This will use the no_title.php
file instead of view.php
to render the block. Notice that adding the .php
file extension is not required. Just like the block's regular view.php
file, developers can include view.css
and view.js
files in their template directories to have those files automatically included on the page.
See also
- The Using block controller callback functions recipe
- The Creating a custom block type recipe
- HornetQ Messaging Developer’s Guide
- Go Web編程
- Modular Programming with Python
- 軟件測試工程師面試秘籍
- Python進階編程:編寫更高效、優雅的Python代碼
- 信息安全技術
- Learn Scala Programming
- Drupal 8 Configuration Management
- Hands-On Natural Language Processing with Python
- Visual Foxpro 9.0數據庫程序設計教程
- Mastering Linux Security and Hardening
- 一本書講透Java線程:原理與實踐
- .NET 4.5 Parallel Extensions Cookbook
- Webpack實戰:入門、進階與調優(第2版)
- WordPress Search Engine Optimization(Second Edition)