【问题标题】:Magento content management; prevent a messMagento 内容管理;防止混乱
【发布时间】:2015-05-20 18:15:14
【问题描述】:

所以,我这周开始了一个新项目,当然我正在考虑我在整个开发过程中会发现的问题。我们将制作一家设计非常好的商店,非常高兴能在这方面工作。但是,设计中使用了很多magento正常功能中放不下的内容。例如,有一个目录页面,其中包含许多带有次要信息的内容块,例如独特的卖点或一些故事讲述。对于不同的类别,这可以并且将会有所不同。我们谈论的是很多小的内容块,不是你可以塞进类别描述字段的东西;)

到目前为止,我主要使用静态块来制作这些内容并在页面上显示它们,甚至可能使用 xpath 从块中提取我需要的信息,以防止最终用户使用所见即所得编辑器破坏设计。但是,我认为现在这不是一个好的解决方案,因为在不丢失所有内容概述的情况下,只会创建和使用太多静态块,而且我怀疑 xpath 在性能方面真的很好(就像拧螺丝一样)用锤子)。

我正在考虑制作一个模块或使用一个模块,以便可以添加属性并将属性集与静态块结合使用。有了它,您可以为某些页面创建自己的字段和组,并使最终用户可以轻松地在其网上商店中编辑信息。但是,自己制作(听起来确实很有趣)会花费很多时间,而且我真的找不到可以做这样的事情的模块。

你们在创建新网店时如何解决这些问题?有什么建议吗?

【问题讨论】:

    标签: magento content-management-system


    【解决方案1】:

    我想您将使用自己的主题和自己的类别页面模板,在这里您将设置所有您不希望管理员弄乱所见即所得编辑器的 HTML,并让他们只更改某些部分这页纸。为了让管理员能够编辑这些,您需要向类别实体添加新属性。例如,如果管理员应该为某个框添加文本,添加文本类型的属性,如果管理员想要添加 HTML 创建所见即所得的编辑器类型的属性等等。然后在您的模板中,您将检查类别是否具有任何这些属性并且它们具有非空值,然后打印它们。

    例如:

    <?php if ($category->getCustomTextAttribute() != ''): ?> <div id="your-div"> <?php echo $category->getCustomTextAttribute(); ?> </div> <?php endif; ?> <?php if ($category->getPromotionHtml() != ''): ?> <div id="promotion-div"> <?php echo $category->getPromotionHtml(); ?> </div> <?php endif; ?> 产品页面也是如此,不同之处在于,对于产品,您可以通过管理员创建属性,然后在产品页面模板上打印它们,否则对于类别,您需要编写一个执行此操作的模块,如果你需要我我可以为您提供创建类别属性的模块示例。

    【讨论】:

    • 是的,这是解决此问题的一种方法。但是,因为在这个设计中,一个分类页面上有很多不同的内容块,所以会有很多分类属性需要创建,因此您只需将问题从静态块转移到分类页面。谢谢分享!
    【解决方案2】:

    我最终使用了 zokibtmkd 答案和将字段添加到默认静态块(图像上传功能和链接字段)的组合。这两种解决方案的结合使我可以在设计中使用,而不会弄乱管理员或模板。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多