创建 2sxc 内容模板
Creating 2sxc Content Template
我按照以下指导教程进行了操作:
http://2sxc.org/en/Learn/Getting-started-with-creating-stuff/First-Content-Template
但是我遇到了一两个问题。
- 当我进入步骤 2.2 通过将 Template.txt 文件粘贴到我新创建的模板 .cshtml 文件中来添加演示模板时,我没有看到预期的标题 (Content.Title)和我的号召性用语 button/link (Content.LinkText) 没有出现在屏幕上。这使我无法创建最简单的模板
粘贴Template.txt代码后:
<div class="sc-element"> @Edit.Toolbar(Content) <!--- Edit toolbar -->
<div class="co-person-image col-sm-4">
@if (!String.IsNullOrEmpty(Content.Photo))
{
<img src="@Content.Photo?w=350" alt="@Content.Name" class="img-responsive" />
}
else
{
<div class="co-person-placeholder"></div>
}
</div>
<div class="co-person-text col-sm-8">
<p>
<strong>@Content.Name</strong><br />
@if (!String.IsNullOrEmpty(Content.Position))
{
@Content.Position<br />
}
</p>
<p>
@if (!String.IsNullOrEmpty(@Content.EMail))
{
<a href="mailto:@Content.EMail">@Content.EMail</a><br />
}
@if (!String.IsNullOrEmpty(Content.Phone))
{
<text>@Content.Phone<br /></text>
}
</p>
@Html.Raw(Content.Description)
</div>
</div>
我没有看到任何占位符,当我使用 ADAM 上传图片时,它也不会出现在屏幕上吗?
不确定我做错了什么,但真的很感激能得到一些帮助,因为我也尝试简单地将您的另一个 bootstrap 模板中的代码粘贴到我的新模板中,但我收到以下错误:
Error: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The best
overloaded method match for 'string.IsNullOrEmpty(string)' has some
invalid arguments at CallSite.Target(Closure , CallSite , Type ,
Object ) at
System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite
site, T0 arg0, T1 arg1) at
ASP._Page_Portals_0_2sxc_Content__text_block_image_block_12_cshtml.Execute()
in d:\Inventise\trunk\Customers\St Josephs
Foundation\Projects\Website\Sources\DNN-Root\Portals[=11=]sxc\Content_text
block_image block_12.cshtml:line 26 at
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext
pageContext, TextWriter writer, WebPageRenderingBase startPage) at
ToSic.SexyContent.Engines.RazorEngine.RenderTemplate() in
C:\ProjectsSexyContent\Web\DesktopModules\ToSIC_SexyContentSexy
Content Razor\RazorEngine.cs:line 76 at
ToSic.SexyContent.Engines.EngineBase.Render() in
C:\ProjectsSexyContent\Web\DesktopModules\ToSIC_SexyContent\SexyContent\Engines\EngineBase.cs:line
89 at ToSic.SexyContent.SxcInstance.Render() in
C:\ProjectsSexyContent\Web\DesktopModules\ToSIC_SexyContent\SexyContent\SxcInstance.cs:line
200
上面的错误信息中提到的路径似乎有误,但不知道哪里可以修改?
在此问题上,我将不胜感激。
此致
我会尽力引导您完成它,但我猜您忘记设置演示项目了。
演示项用于在模板上显示数据,直到用户添加自己的数据。因此,在管理 UI 中创建一个项目(步骤 1.5)并将其分配给模板(步骤 1.5.1)非常重要。这允许在向页面添加任何数据之前呈现模板 :)。
如果您没有演示项目,模板会假定它无法呈现,并会显示一条消息表明它还没有数据 - 或者它会尝试呈现,但会因错误而失败像上面那个。
有帮助吗?
我按照以下指导教程进行了操作: http://2sxc.org/en/Learn/Getting-started-with-creating-stuff/First-Content-Template 但是我遇到了一两个问题。
- 当我进入步骤 2.2 通过将 Template.txt 文件粘贴到我新创建的模板 .cshtml 文件中来添加演示模板时,我没有看到预期的标题 (Content.Title)和我的号召性用语 button/link (Content.LinkText) 没有出现在屏幕上。这使我无法创建最简单的模板
粘贴Template.txt代码后:
<div class="sc-element"> @Edit.Toolbar(Content) <!--- Edit toolbar --> <div class="co-person-image col-sm-4"> @if (!String.IsNullOrEmpty(Content.Photo)) { <img src="@Content.Photo?w=350" alt="@Content.Name" class="img-responsive" /> } else { <div class="co-person-placeholder"></div> } </div> <div class="co-person-text col-sm-8"> <p> <strong>@Content.Name</strong><br /> @if (!String.IsNullOrEmpty(Content.Position)) { @Content.Position<br /> } </p> <p> @if (!String.IsNullOrEmpty(@Content.EMail)) { <a href="mailto:@Content.EMail">@Content.EMail</a><br /> } @if (!String.IsNullOrEmpty(Content.Phone)) { <text>@Content.Phone<br /></text> } </p> @Html.Raw(Content.Description) </div> </div>
我没有看到任何占位符,当我使用 ADAM 上传图片时,它也不会出现在屏幕上吗?
不确定我做错了什么,但真的很感激能得到一些帮助,因为我也尝试简单地将您的另一个 bootstrap 模板中的代码粘贴到我的新模板中,但我收到以下错误:
Error: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The best overloaded method match for 'string.IsNullOrEmpty(string)' has some invalid arguments at CallSite.Target(Closure , CallSite , Type , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1) at ASP._Page_Portals_0_2sxc_Content__text_block_image_block_12_cshtml.Execute() in d:\Inventise\trunk\Customers\St Josephs Foundation\Projects\Website\Sources\DNN-Root\Portals[=11=]sxc\Content_text block_image block_12.cshtml:line 26 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at ToSic.SexyContent.Engines.RazorEngine.RenderTemplate() in C:\ProjectsSexyContent\Web\DesktopModules\ToSIC_SexyContentSexy Content Razor\RazorEngine.cs:line 76 at ToSic.SexyContent.Engines.EngineBase.Render() in C:\ProjectsSexyContent\Web\DesktopModules\ToSIC_SexyContent\SexyContent\Engines\EngineBase.cs:line 89 at ToSic.SexyContent.SxcInstance.Render() in C:\ProjectsSexyContent\Web\DesktopModules\ToSIC_SexyContent\SexyContent\SxcInstance.cs:line 200
上面的错误信息中提到的路径似乎有误,但不知道哪里可以修改?
在此问题上,我将不胜感激。 此致
我会尽力引导您完成它,但我猜您忘记设置演示项目了。
演示项用于在模板上显示数据,直到用户添加自己的数据。因此,在管理 UI 中创建一个项目(步骤 1.5)并将其分配给模板(步骤 1.5.1)非常重要。这允许在向页面添加任何数据之前呈现模板 :)。
如果您没有演示项目,模板会假定它无法呈现,并会显示一条消息表明它还没有数据 - 或者它会尝试呈现,但会因错误而失败像上面那个。
有帮助吗?