silverstripe-cropperfield
全部标签 我创建了一个新的页面类型,需要一些东西来分解内容。我创建了一个标语block,我想在页面的3个位置使用它,但是我只想创建一个版本的标语block并通过动态数据驱动该内容。我在Straplines.php中有以下内容classStraplinesextendsDataObject{privatestatic$db=array('Title'=>'Text','Content'=>'HTMLText','SortOrder'=>'Int');privatestatic$has_one=array('Parent'=>'Page');privatestatic$default_sort='S
我刚刚开始学习SilverStripe,实际上我对silverstripe网站上的类(class)有疑问。我有这门课:namespaceSilverStripe\Lessons;usePage;classArticlePageextendsPage{privatestatic$can_be_root=false;privatestatic$db=['Date'=>'Date','Teaser'=>'Text','Author'=>'Varchar(255)',];//publicfunctiongetCMSFields(){//$fields=parent::getCMSFields(
我试图在Root.Content.Main之前插入一个新的管理选项卡,但没有任何运气。我试过:$fields->insertBefore(newTab('Root.Content.Overview','Overview'),'Root.Content.Main');和$fields->addFieldToTab('Root.Content',newTab('OverviewTab','Root.Content.Overview'),'Root.Content.Main');没有任何运气。有人有什么想法吗?我搜索了API,但没有太多关于选项卡命名系统如何工作的解释。
我有两个对象Schedule和LocationPage。对象Schedule与LocationPage有一个$has_one关系:classScheduleextendsDataObject{privatestatic$db=array('Date'=>'Date',);privatestatic$has_one=array('Location'=>'LocationPage',);}和classLocationPageextendsPage{privatestatic$db=['Heading'=>'HTMLVarchar(250)','SubHeading'=>'Varchar(2
假设您为每个页面请求显示一个随机语句,并使用一个函数返回一个随机对象,例如:Statement::get()->sort("RAND()")->limit("1");但是现在在模板中您想要在不同的地方引用它两次,但它应该是相同的语句而不是随机不同的语句。您如何确保每个页面请求获得相同的随机对象? 最佳答案 如何定义一个带有记住对象的静态变量的函数?publicfunctionrndObj(){static$obj=null;if(!isset($obj)){$obj=Statement::get()->sort("RAND()")-
我在ModelAdmin中有一个具有以下字段的数据对象:classNavGroupextendsDataObject{privatestatic$db=array('GroupType'=>'Enum("Standard,NotStandard","Standard")','NumberOfBlocks'=>'Int');publicfunctiongetCMSFields(){$groupTypeOptions=singleton('NavGroup')->dbObject('GroupType')->enumValues();$fields=parent::getCMSFields
我知道我们可以随机排序DataList具有以下内容:$example=Example::get()->sort('RAND()');但是当我尝试对ArrayList进行随机排序时它不起作用。我可以对ArrayList进行排序通过IDDESC,但不是RAND().有没有办法制作ArrayList随机排序它的项目?例子:publicfunctionAllTheKits(){$kits=Versioned::get_by_stage('KitsPage','Live');$kitsArrayList=ArrayList::create();foreach($kitsas$kit){if($k
我希望能够在Controller中返回黑白图像,这样我就可以在模板中使用它。在thispage我发现GD类有一个灰度方法。不幸的是,我不了解GD类(class)以及如何使用它。我试过做$final=$image->getFormattedImage('greyscale',36,36,36);但这没有用。它确实会返回一个带有新URL的图像对象,但该图像不存在。任何人都可以向我解释如何在Silverstripe页面Controller中将图像对象制作成灰度图像吗? 最佳答案 好吧,我自己试了一下,这就是我想出的:_config.php
在Silverstripe中,如果您右键单击Sitetree中的一个页面,您可以复制单个页面或一个页面及其所有子页面。我们发现用户偶尔会复制包含大量子页面的页面,我们希望通过删除“此页面和子页面”选项或将其限制为仅限管理员用户来防止这种情况。如何实现? 最佳答案 查看codeincms/javascript/CMSMain.Tree.js在SilverStripe3.4中,目前似乎没有办法关闭它。我们有一个选择是向CMS添加一些CSS以隐藏每个人的菜单项:mysite/css/cms.css#vakata-contextmenua[
这如何在模板中完成?我已经通过ArrayData使用模板循环中的键访问模板中的值来完成此操作,但是如果我有一个没有键的任意字符串数组,我应该使用什么变量来访问这些值?如果在我的Controller中我有这个:publicfunctionArrayList(){$ArrayList=newArrayList(array('this','is','a','test'));return$ArrayList;}这在我的模板中:1我应该用什么代替1来让模板吐出“这是一个测试”? 最佳答案 据我所知这是不可能的,您需要将每个项目包装到一个Arr