3

今天我发现了 CMS 的奇妙世界,并决定开始探索这个地区,尽管没有任何地图或有人引导我穿过这片茂密的森林。我有很多问题,主要是关于这个工具的使用,我希望有人能对这个领域有所了解,帮助我有宾至如归的感觉。

到目前为止,我主要使用 HTML 和 CSS 来创建我的页面,其中包含一些动态内容的 PHP。(我的 PHP 知识很差)在安装 Concrete CMS 后我首先注意到的是它创建了一个新的可编辑页面www.mysite.com/concrete/ 我想知道如何让 CMS 控制我在 www.mysite.com 上而不是在具体目录中已经制作的 HTML 页面。另外,如何将我作为主题制作的网页设计应用到 CMS?最后,我是在使用正确的工具还是有更好的免费且易于使用的 CMS?简单的亮点我正在开发的网站是为我母亲准备的,我不会一直在帮助她更新内容,所以我需要它尽可能简单,同时保持用户组和每个用户组的权限等功能,易于编辑的文本字段和内容,易于将图像上传到我想指定为默认值的文件夹。

感谢您花时间阅读文字墙。

4

1 回答 1

18

如果您已经了解 HTML 和 CSS,那么您将有一个良好的开端。这是一个巨大的世界,但除了潜入并尝试它之外,没有其他方法可以学习!

回答您的第一个问题:不幸的是,您不能只使用现有的 HTML 站点并将其自动导入 Concrete5(或我知道的任何 CMS)。这是因为在 CMS 中,每个页面的内容实际上都存储在数据库中,而不是文件中。了解 CMS 的关键点之一是,它将每个页面上相同的内容与每个页面上不同的内容分开。每个页面上相同的东西(例如,页眉、页脚、一般的页面布局结构,可能是侧边栏的一部分等)大部分是您的标准 HTML 和 CSS。但是每个页面上不同的东西(即“内容”)不在 HTML 和 CSS 中(甚至不在文件中——如前所述,它存储在数据库中)。

这对你作为一个了解 HTML 和 CSS 的人来说是不利的,但对你没有任何线索的母亲来说是很好的。(老实说,这对您来说并没有那么糟糕,因为以使事情变得更复杂为代价,您可以免费获得很多功能,即用户登录和注册、文件上传和管理等)。

关于问题...我无法确定,因为每台服务器的设置都不同,但如果我不得不猜测,您的新站点位于 www.mysite.com/concrete/ 而不是 www.mysite 的原因。 com 是因为您在服务器上创建了一个名为“concrete”的文件夹并在那里安装了 Concrete5。此外,我敢打赌你这样做是为了没有覆盖构成旧站点的现有文件(这是个好主意)。人们在这种情况下采取的通常方法是在该子目录中构建新站点(在您的情况下,“具体”),然后当一切准备就绪(已设计并已放入内容)时,您将其移至服务器目录的顶层。当从旧站点“切换”到新站点时,这可以将停机时间降至最低。

忠告:只要您还没有深入了解此过程,我强烈建议将该文件夹从“concrete”重命名为“newsite”或“c5site”或“concrete”以外的任何其他名称 - - 原因是因为在您的具体文件夹中有另一个名为“具体”的文件夹,系统文件都存放在其中。这会变得非常混乱,并且当您尝试在论坛上寻求帮助时交流文件所在的位置变得更加困难(您会告诉人们某些东西在具体文件夹中,他们会认为它在另一个具体文件夹中, ETC。)。

更多问题...您如何将网页设计应用于主题?现在我们进入了好的部分!简短的回答是:

1) 为您网站中的每种布局制作一个示例 HTML/CSS 页面(例如,一个用于主页,一个用于带有侧边栏的内部页面,一个用于没有侧边栏的内部页面——但这完全取决于你做的设计)。这些示例布局中的每一个都称为“模板”(或者有时在具体的世界中它们被称为“页面类型”)。

2) 检查你的设计,找出每个页面上的相同内容,以及不同页面的示例内容。对于每页会有所不同的所有内容,请将其从模板中删除并用这段代码替换它:

<?php
$a = new Area('Main');
$a->display($c);
?>

那段代码告诉 CMS 你想要一个可编辑的内容区域,这意味着你的母亲可以在不需要使用 HTML 的情况下更改其中的内容(并且不必担心意外弄乱整个页面布局,因为她的更改被隔离到那个区域)。请注意,页面上每个区域的“主要”部分都需要不同。一个标准的方法是在一个页面上放置两个——一个用于主要内容区域,一个用于侧边栏。所以一个会有'Main',另一个会有'Sidebar'(这些词是什么并不重要——只要它们在任何给定的模板页面上彼此不同)。但是,主页模板可能会有所不同——也许不会

3)做一些其他在概念上并不重要但需要让它发挥作用的小事情。

我强烈建议您前往concrete5.org 网站并查看他们的操作指南(http://www.concrete5.org/documentation/how-tos/)。具体来说,您可能会感兴趣:

另外,利用那里的论坛。我们仍然是一个相对较小的社区,但周围有很多乐于助人的人。

最后,回答你关于选择正确工具的最后一个问题——嗯,我有偏见,因为我认为 Concrete5 对我来说是最好的工具,对我建立的网站类型和我的思维方式来说都是最好的。这是一个奇怪的情况——如果你问一个专门研究 Wordpress 并且非常了解它的人,他们会说 Wordpress 是最好的工具。如果你问一个专门研究 Drupal 并且非常了解它的人,他们会说 Drupal 是最好的工具。所以我不能给出一个最适合你的明确答案,但作为一个在大多数 CMS(Wordpress、Drupal、Joomla、Silverstripe 等)中建立了相当大的网站的人,我可以告诉你为什么这对我来说是最好的工具:

  1. 它为中小型网站(例如营销网站、宣传册网站、电子商务目录、艺术家作品集)提供了最易于使用的编辑界面。这是因为,正如 Joel 所说,程序模型与用户对网站的心理模型(一堆网页)非常匹配。因此,在 Concrete5 中,您转到站点上的页面并单击内容进行编辑。而在大多数其他 CMS 中,您会转到站点的单独区域(管理仪表板),在那里您会看到站点的抽象表示,通常以某种分层形式 - 非专家很难掌握两件事(抽象事物和层次结构)。

  2. 如果您要使用完整的 HTML/CSS 设计,它具有最直接的主题化过程。Wordpress 在这方面做得很好,但根据我的经验,像 Drupal 和 Joomla 这样的系统对设计师并不友好,因为它们要求您将设计分成许多不同的部分,然后由系统缝合在一起,这通常会迫使您可以添加您实际上不想出现的标记(从设计的角度来看)。

  3. 如果您是程序员,它的底层架构相当简单,因此创建您自己的自定义功能通常非常容易。它无论如何都不是完美的,但比我使用过的大多数其他大型 PHP CMS 都要好得多(也许 SilverStripe 除外,但 Silverstripe 在编辑 UI 方面与 C5 不相上下)。

所以你去 - 一堆文字让你的文字墙感到羞耻:)

希望对您有所帮助,如果您有更多问题,请务必前往 Concrete5 论坛。

-约旦

于 2011-03-14T08:03:54.000 回答