首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Concrete5块属性

Concrete5块属性
EN

Stack Overflow用户
提问于 2012-02-23 00:09:47
回答 2查看 1.3K关注 0票数 1

我有一个主页上的一些图像,我希望客户能够随时改变图像。现在,它们被硬编码为:

<img src="<?=$this->getThemePath()?>/img/welcomePhoto1.jpg" alt="" class="welcome-photo" />

如果我设置一个新的区块区域,在那里他们可以更改照片,我是否可以确保每次他们更改图像时,区块将保留类。我真的不喜欢通过UI添加类(只是觉得这不是一个好的做法)。我知道你可以像这样包装块:

代码语言:javascript
复制
<?php 
$a = new Area('sidebar');
$a->setBlockWrapperStart('<div class="box">');
$a->setBlockWrapperEnd('</div>');
$a->display($c); 
?>

他们是不是有点像$a->setBlockClass('welcome-photo');

EN

回答 2

Stack Overflow用户

发布于 2012-03-28 02:20:06

是的,也许有一种方法可以通过Area类的setCustomTemplate方法来实现您想要做的事情。

代码语言:javascript
复制
$m = new Area('Main');
$m->setCustomTemplate('image','templates/welcome-photo.php');
$m->display($c);

然后在您的templates/welcome-photo.php文件中,您可以根据需要对这些图像设置一个包装器。不过,需要注意的是,这只是为该区域中任何类型为“image”的块(在本例中)设置了一个默认模板,但可以通过编辑界面覆盖它。

票数 2
EN

Stack Overflow用户

发布于 2012-02-23 04:46:46

我看不出使用setBlockWrapperStart()setBlockWrapperEnd()有什么错--这就是它们的用途。

但是如果你出于某种原因想要一个替代的解决方案,你可以硬编码一个文件集,让用户通过文件管理器换出该文件集的图像。

或者,您可以硬编码一个剪贴簿模块(如果使用5.4或更低版本)或Stack (如果使用5.5或更高版本),并让用户通过仪表板剪贴簿(5.4)或仪表板堆栈(5.5)屏幕编辑图像。

如果您想要这两种方法的代码样本,请告诉我,我会修改我的答案。但请先解释一下您原来的setBlockWrapper方法的问题,这样我才能理解您遇到的具体问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9398497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档