创建 2sxc 内容模板

Creating 2sxc Content Template

我按照以下指导教程进行了操作: http://2sxc.org/en/Learn/Getting-started-with-creating-stuff/First-Content-Template 但是我遇到了一两个问题。

  1. 当我进入步骤 2.2 通过将 Template.txt 文件粘贴到我新创建的模板 .cshtml 文件中来添加演示模板时,我没有看到预期的标题 (Content.Title)和我的号召性用语 button/link (Content.LinkText) 没有出现在屏幕上。这使我无法创建最简单的模板
  2. 粘贴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)非常重要。这允许在向页面添加任何数据之前呈现模板 :)。

如果您没有演示项目,模板会假定它无法呈现,并会显示一条消息表明它还没有数据 - 或者它会尝试呈现,但会因错误而失败像上面那个。

有帮助吗?