我有一个主页上的一些图像,我希望客户能够随时改变图像。现在,它们被硬编码为:
<img src="<?=$this->getThemePath()?>/img/welcomePhoto1.jpg" alt="" class="welcome-photo" />
如果我设置一个新的区块区域,在那里他们可以更改照片,我是否可以确保每次他们更改图像时,区块将保留类。我真的不喜欢通过UI添加类(只是觉得这不是一个好的做法)。我知道你可以像这样包装块:
<?php
$a = new Area('sidebar');
$a->setBlockWrapperStart('<div class="box">');
$a->setBlockWrapperEnd('</div>');
$a->display($c);
?>他们是不是有点像$a->setBlockClass('welcome-photo');
发布于 2012-03-28 02:20:06
是的,也许有一种方法可以通过Area类的setCustomTemplate方法来实现您想要做的事情。
$m = new Area('Main');
$m->setCustomTemplate('image','templates/welcome-photo.php');
$m->display($c);然后在您的templates/welcome-photo.php文件中,您可以根据需要对这些图像设置一个包装器。不过,需要注意的是,这只是为该区域中任何类型为“image”的块(在本例中)设置了一个默认模板,但可以通过编辑界面覆盖它。
发布于 2012-02-23 04:46:46
我看不出使用setBlockWrapperStart()和setBlockWrapperEnd()有什么错--这就是它们的用途。
但是如果你出于某种原因想要一个替代的解决方案,你可以硬编码一个文件集,让用户通过文件管理器换出该文件集的图像。
或者,您可以硬编码一个剪贴簿模块(如果使用5.4或更低版本)或Stack (如果使用5.5或更高版本),并让用户通过仪表板剪贴簿(5.4)或仪表板堆栈(5.5)屏幕编辑图像。
如果您想要这两种方法的代码样本,请告诉我,我会修改我的答案。但请先解释一下您原来的setBlockWrapper方法的问题,这样我才能理解您遇到的具体问题。
https://stackoverflow.com/questions/9398497
复制相似问题