- 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
- 從零開始:數(shù)字圖像處理的編程基礎(chǔ)與應(yīng)用
- Python快樂編程:人工智能深度學(xué)習(xí)基礎(chǔ)
- Practical Windows Forensics
- Python數(shù)據(jù)分析(第2版)
- Kotlin Standard Library Cookbook
- Python Data Structures and Algorithms
- The Professional ScrumMaster’s Handbook
- Hands-On Nuxt.js Web Development
- Raspberry Pi Robotic Blueprints
- JavaScript程序設(shè)計(jì):基礎(chǔ)·PHP·XML
- C++程序設(shè)計(jì)教程
- Java程序設(shè)計(jì)教程
- 數(shù)據(jù)科學(xué)中的實(shí)用統(tǒng)計(jì)學(xué)(第2版)
- Spring Boot從入門到實(shí)戰(zhàn)
- Scratch 3.0少兒積木式編程(6~10歲)