我想在内容textarea下面插入一个新字段来保存一个文件的链接/连接(从我的资产文件夹中删除一个zip文件).
我找不到任何文档或文件教程.只有图像.有谁知道我在哪里可以找到一些帮助文件或者可以给我一些基本的代码来开始?
我有这门课:
class Product extends DataObject {
static $db = array(
'Name' => 'Varchar',
'ProductType' => 'Varchar',
'Price' => 'Currency'
);
}
Run Code Online (Sandbox Code Playgroud)
数据库表如下所示:
---------------------------------
| Name | ProductType | Price |
|-----------+-------------+-------|
| Product 1 | Type1 | 100 |
| Product 2 | Type1 | 240 |
| Product 3 | Type2 | 10 |
| Product 4 | Type1 | 100 |
---------------------------------
Run Code Online (Sandbox Code Playgroud)
我想有2个模特管理员:
class MyFirstModel extends ModelAdmin {
public static $managed_models = array(
Product
);
}
class MySecondModel …Run Code Online (Sandbox Code Playgroud) 我在Silverstripe中有两个名为TeamPage和TeamReport的自定义页面类型.
创建新的TeamPage时,我希望将TeamReport添加为单个子页面 - 使用'/ report /'作为URL slug.
我应该向TeamPage添加什么代码才能实现此目的?
我有'Resouce'数据对象如下所示,附件为has_one关系.我想在删除'resource'对象时删除附件.
但我得到的是致命错误:在非对象上调用成员函数delete()
<?php
class Resource extends DataObject
{
private static $db = array (
'Name' => 'Varchar(200)',
'Description' => 'Text',
'Category' => "Enum('Data, Drafts, Drawings, Reports, Images, Other')",
'SortOrder' => 'Int'
);
private static $has_one = array (
'Attachment' => 'File',
'ResourcePage' => 'ResourcePage'
);
public function onBeforeDelete()
{
$myAttachment = $this->Attachment();
$file = DataObject::get_by_id('File', $myAttachment->ID); //we have to make sure it is a Dataobject object
$file->delete();
$file->destroy();
return parent::onBeforeDelete();
}
}
Run Code Online (Sandbox Code Playgroud) 我想CSRF在我的Silverstripe上禁用特定IP的安全令牌.
我知道可以通过特殊形式完成
$form = new Form(..);
$form->disableSecurityToken();
Run Code Online (Sandbox Code Playgroud)
但我想在网站上做到这一点.
我在另一台计算机上托管了另一个站点,该站点使用XSLT和生成一个用于silverstripe登录的ajax调用ajax.所以我想为这个特定的IP禁用站点CSRF.
谁可以帮我这个事??谢谢
我正在尝试构建一个菜单,显示1级菜单以及同一导航栏上的2级菜单.这是因为Page 1的所有孩子都需要在顶级菜单中.我可以通过在导航中循环菜单(2)轻松完成此操作,但是如果您在父页面上,则仅显示这些页面.
<% loop $Menu(2) %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
<% loop $Menu(1) %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
Run Code Online (Sandbox Code Playgroud) 为了添加SiteSearch功能,当我在Silverstripe中启用FullTextSearchable时,它默认将Page表转换为MyISAM,但我需要保留表InnoDB.我使用的是MySQL版本> 5.6(因此,它确实支持FullText)
我正在尝试运行查询,但发生了一些奇怪的事情:
$return = MyCustomPage::get()->where(
" MyCustomPage.ID IN(" . implode(',', $MyCustomPageIds) . ")"
)->limit(2);
Run Code Online (Sandbox Code Playgroud)
这会返回一个错误,因为查询它试图从MyCustomPage_Live而不是MyCustomPage获取数据.
这个逻辑就像改变一样,有时它从一个表有时从另一个表中获取,我需要在查询中指定表名(例如MyCustomPage.ID或MyCustomPage_Live.ID)
对于这个或任何解决方案有更好的方法吗?
我想知道为什么SS4主目录中没有"模型/视图/控制器"目录?似乎一切都应该进入"mysite/code"......如何实现MVC风格?
如何在Silverstripe页面中添加变量自定义字段?例如,如果我为"爱好"创建了一个自定义字段,那么一个人可能会有几个爱好.因此我需要用户动态添加另一个字段以进入前端CMS中的业余爱好.那么也许用户可以点击CMS中的"添加其他爱好"按钮?
另一个问题是如何在程序中填充Silverstripe中的表格?
如何使用PHP将大型xls或csv数据集转换为mysql数据,最好使用Silverstripe API?我可以直接执行此操作,还是需要先转换为文本?
我不知道如何设置银条的管理员登录用户名和密码?谁能帮忙。
您好,我遵循了 Silverstripe 课程https://www.silverstripe.org/learn/lessons/v4/working-with-multiple-templates-1,甚至尝试从存储库下载代码,但是当我尝试创建 templates/HomePage 时.ss 作为 chrome Silverstripe 仍然使用 Page.ss。显然,课程说“它首先在主模板/目录中查找该页面的镶边。如果在那里找到 HomePage.ss,它将选择它作为您的镶边。” 缺什么?
silverstripe ×13
php ×5
mysql ×2
admin ×1
csv ×1
database ×1
file-upload ×1
modeladmin ×1
navigation ×1
templates ×1