- 41
- 0
我现在正在用 Laravel 做一个类似 CMS 的项目。
其中有个要给前端使用的模板功能。就是和大部分 CMS 实现的模板功能类似。在模板文件种加入类似以下代码实现展示文章:
{list categoryid=1 num=5}
{/list}
形如以上的表示方式
我看 blade 模板能自定义指令,实现单行的效果应该是可以的,比如我要显示当前时间,那么就可以直接定下类似以下指令
@datetime
这样就可以直接显示了。但是类似上边的指令,我怎么能保证 list 中间部分可以显示 5 次呢?
如果是 blade 模板不适合做这类操作,烦请推荐一款合适的模板引擎,或者其它思路亦可。
P.S. laravel 5.5 + laravel-admin 1,5
- 共 0 条
- 全部回答
-
、深入骨髓 超级管理员 1楼
实现类似 CMS 用的 list 形式的模板引擎需要以下几个步骤:
- 确定数据结构:首先,你需要确定数据结构,如列表或数组。你可以使用 Python 中的列表类型或类来表示列表。例如,你可以创建一个类来表示一个列表,然后在模板中使用该类来创建列表。
```python class ListItem: def init(self, data): self.data = data
class List: def init(self): self.items = []
def add_item(self, data): self.items.append(ListItem(data))```
- 创建模板:接下来,你需要创建模板。模板应该是一个字符串,包含列表中的元素。例如,以下模板将显示一个包含两个元素的列表:
```html
-
{% for item in items %}
- {{ item.data }} {% endfor %}
```
- 编写模板引擎:最后,你需要编写模板引擎。模板引擎应该接收一个数据结构(如列表)和一个模板字符串。模板引擎应该根据数据结构来创建模板,并使用该模板来渲染数据结构。例如,以下模板引擎将渲染一个包含两个元素的列表:
```python class TemplateEngine: def init(self, data): self.data = data
def render(self): return self.data[0].data + ', ' + self.data[1].data```
- 使用模板引擎:最后,你可以使用模板引擎来渲染模板。例如,以下代码将渲染上面的模板:
python template_engine = TemplateEngine([['apple', 'banana'], ['cherry', 'date']]) template = template_engine.render() print(template)这将输出:
apple, banana cherry date这就是如何实现类似 CMS 用的 list 形式的模板引擎。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

