1

我使用过 Drupal,并认为我在 EE 上做错了。我想在一些模板中创建许多嵌入用户创建的条目块,但不想为每个模板创建一个频道。在 Drupal 中,我可以创建一个特定于客户需求的块,但我对如何在 EE 中执行此操作感到困惑。例如,我在主页上有三个不同的内容区域,顶部/中间和底部。客户不想推出博客条目,他们希望在每个条目中放入特定的内容。我看到的唯一方法是我需要创建三个不同的通道并嵌入顶部,将每个块的通道更改为中间和底部。有没有更好的办法?

{exp:channel:entries channel="top" disable="categories|member_data|pagination" limit="1"
sort="desc" dynamic="no" }

我会使用类别组和类别来执行此操作吗?意思是,我会创建顶部、中间和底部类别来调出我的“家庭”频道中的这些条目?

4

3 回答 3

1

对于不到 1 小时的计费工作,您将获得数百甚至数千小时的工作量,供您运行。总有人为代码买单,这次为什么不是你呢?:)

于 2012-03-19T14:09:11.010 回答
0

我们通常会创建一个名为“一般内容”的频道,其中包含一个字段,可以有任何类型的原生格式(大多数情况下不使用或 xhtml),然后将其用于不适合其他频道的一次性位. 客户很难在 CP 中找到这些条目进行编辑,因此我们制作了前端“编辑”链接,可以在 CP 中打开正确的条目,并且仅对具有内容编辑权限的成员组可见。

如果您确实需要多个自定义字段用于此用途,这只会变得棘手。

我从未使用过低变量,但我的印象是它在这里可能很有用。

虽然我同意张贴者谈论附加组件的价值,但这是我从未在本地解决任何问题的特殊需求。除了附加组件的成本问题(IMO 值得)之外,您添加的软件越多,安装越复杂,排除错误和升级 EE 会花费更多时间。

于 2012-03-19T15:49:27.303 回答
0

您找到的解决方案确实有效 - 但我发现它最终无法提供许多客户所需的灵活性。

我已经为许多网站使用了以下解决方案,客户对此很满意。

1)将您的块数据定义为通道。例如,我经常有一个侧边栏广告、侧边栏脚本和侧边栏文本通道。

2) 使用 playa 字段类型(或其他关系字段类型)创建从父条目(页面)到这些子内容类型的关系。

这通常在后端看起来像这样: 海滩关系

3)您现在可以使用父条目来显示子内容。您当然需要使用以下内容将所有这些数据提取到您的模板中:

<div id="right-side">
{exp:playa:children}

    {if channel_short_name == 'sidebar_javascript'}
        {cf_sidebar_js}
    {/if}

    {if channel_short_name == 'sidebar_videos'}
        {exp:channel_videos:videos entry_id="{entry_id}" embed_width="300" embed_height="238"}
        <h4>{title}</h4>
        {video:embed_code}
        <p class="caption">{video:title}</p>
        {/exp:channel_videos:videos}

    {/if}

    {if channel_short_name == 'sidebar_ads'}

     {exp:adman:show group="{cf_sidebar_adman_block}" order="RANDOM" limit="{cf_sidebar_adman_block_number_of}"}
         <a href="{ad_url}" target="_blank">
            <img src="{ad_image}" alt="{ad_alt}" />
         </a>
     {/exp:adman:show}    
    {/if}

{/exp:playa:children}
</div>
于 2012-03-13T00:56:59.210 回答