jjzjj

Silverstripe

全部标签

php - 将多词类别显示为带破折号的 1 个词

我有一些子页面有与之关联的类别。对于超过1个单词的类别,例如“测试类别”,我需要输出为1个单词,空格用破折号分隔,例如“测试类别”如何重写函数来处理这个问题?publicfunctionCategoriesList(){if($this->Categories()->exists()){returnimplode(',',$this->Categories()->column('Title'));}} 最佳答案 我们可以在我们的Category类中创建一个getDashedTitle函数来返回一个带有破折号而不是空格的标题:clas

几分钟后 PHP session 超时

我们在cPanelLAMP共享托管服务器上有一个PHP应用程序(SilverStripe)。CMS用户每隔几分钟就会失去他们的session。以下是一些基于托管平台上的phpinfo()的session设置:session.gc_maxlifetime=0session.gc_divisor=100session.gc_probability=1session.save_handler=filessession.save_path=/tmpsession.cookie_lifetime=0PHP代码中没有session管理。事实上,SilverStripeCMS实际上每5分钟对服务器执

php - Silverstripe:ConfirmedPasswordField 不保存新密码

我试图让用户在前端更新他们的密码。除此字段外,所有其他字段都会更新。我正在使用Silverstripe版本3.4.0。这可能不是处理此问题的最佳方法://Edit&SaveyourdetailspublicfunctionEditMyDetails(){//IncludeJSforupdatingdetailsRequirements::javascript('module-memberprofiles/javascript/MemberProfileUpdate.js');Requirements::set_force_js_to_bottom(true);$fields=newFi

php - SilverShop 模块的动态排序选项

我一直在思考如何进行动态排序选项,这将显示/隐藏排序选项,具体取决于类别是否具有排序器正在寻找的“制造商”...privatestatic$sort_options=array('Alphabetical'=>'URLSegment','LowestPrice'=>'BasePrice');通常分拣机会像这样获得它的选项,但这似乎并不能解决手头的任务。如果有人可以提供一些提示或想法,说明我可以尝试什么,那将非常有帮助。我错过了什么? 最佳答案 最好的办法是重写ProductCategory_Controller中的getSorter

php - SilverStripe 按自定义顺序排序页面列表

有没有一种方法可以按自定义顺序(而不是按字母顺序)对创建页面菜单中的页面列表进行排序。我正在寻找类似于ModelAdmin菜单项排序方式的解决方案:privatestatic$menu_priority=2; 最佳答案 目前不是,因为它被硬编码为按“单数名称”排序,请参阅https://github.com/silverstripe/silverstripe-cms/blob/3.5/code/controllers/CMSMain.php#L493尽管如此,您可以子类化CMSMain类,覆盖方法PageTypes()并告诉Silv

php - 在带有枚举的 DataObject 的 ModelAdmin 过滤器中使用脚手架列表框进行多项选择

目前,对于有枚举的搜索字段,自动脚手架会生成一个下拉列表,只允许进行一个选择。我有兴趣使用现有过滤器来更改它以允许多项选择。给定以下数据对象...classMyDataObjectextendsDataObject{static$db=array('Name'=>"Varchar(255)",'MyEnum'=>"Enum('Option1,Option2,Option3','Option1')");}...以及以下ModelAdmin...classMyModelAdminextendsModelAdmin{static$mangaged_models=array('MyDataOb

php - 如何让 NGINX 通过 index.php 执行文件夹中的所有 URL

我为此搜索了很多答案,但找不到合适的答案。基本上,我有一个在NGINX上运行的SilverStripe构建的站点。一切正常,但我希望通过站点根目录中的index.php解析通过管理员(到Assets文件夹)上传的任何文件/图像(这样我们可以在返回之前检查管理员中设置的文件的权限给用户)。我有一个非常简单的nginx配置(用于我的本地docker实例):server{includemime.types;default_typeapplication/octet-stream;client_max_body_size0;listen80;root/var/www/html;location

php - SilverStripe $summary_field 中断标签翻译

我在我的DataObject中使用publicfunctionfieldLabels()来翻译所有字段标签(以及$summary_fields的标签)。这适用于所有字段,但具有从函数返回值(而不是从数据库中提取的值)的字段除外。摘要字段static$summary_fields=array('Label'=>'Label','Type'=>'Type','getRequiredLabel'=>'Required');字段标签publicfunctionfieldLabels($includerelations=true){$labels=parent::fieldLabels(true

php - 对继承对象重新排序/移动 Silverstripe 3 CMS 选项卡

到处搜索这个问题的答案,但似乎没有其他人拥有它或真正担心它。这是问题所在:A类有一个getCMSFields()方法,它添加了一个名为“Root.SEO”的选项卡,其中包含一些字段。B类继承自A类并拥有自己的getCMSFields()方法,该方法首先调用$fields=parent::getCMSFields()并向$fields添加更多字段/选项卡。SEO选项卡始终位于B类中设置的任何内容之前,因为A类首先执行。但我希望它位于B类定义的两个选项卡之间的某个位置我尝试了$fields->removeByName('SEO')并且他们手动重新添加了B类中的选项卡。这很好,但我似乎无法找

php - Silverstripe 条件验证

我有一个表单,其中包含多个操作,例如创建订单并创建报价单。根据单击的操作,我需要应用不同的验证。例如报价不需要订单编号。在Silverstripe中这可能吗?如果不是,我怎么会得到它?publicfunctionOrder($request=null){$form=Form::create($this,__FUNCTION__,FieldList::create(TextField::create('Name','YourFullName'),TextField::create('OrderRef','PurchaseOrder#')),FieldList::create(Litera