在树层次结构中管理大量内容 -- taxonomy-terms 领域 和 routes 领域 和 breadcrumbs 领域 drupal 相关 的问题

Managing large volume of content in tree hierarchy


6
vote

问题

中文

首先,如果已经回答了这一点,我道歉。我以为这将是一个常见的问题,我很惊讶我没有找到任何地方的一般解决方案。

我有一个大型企业网站(约8000页),目前在我们现有的CMS中组织了多级树结构。导航菜单,面包屑和URL全部基于树中内容节点的位置自动构建。这使得内容编辑器特别容易在正确的位置创建新内容,并具有菜单,面包屑和URL总是一致的。

我们可能会搬到Drupal 7.这样的标准方法是什么样的大型,树木结构的网站?我不想为每个部分创建新的标记名称(分类术语?),因为有数百个"容器" 类型页面包含其他页面的列表。将节点插入树中似乎更容易。

我怀疑有一些显而易见的东西我错过了 - 我会认为拥有一棵树的内容结构是非常正常的。任何帮助非常感谢。

英文原文

Firstly I apologise if this has already been answered. I thought it would be a common problem and I'm surprised that I haven't found a general solution anywhere.

I have a large corporate website (about 8000 pages) which is currently organised in our existing CMS in a multi-level tree structure. The navigation menus, breadcrumbs and URLs are all automatically built based on the position of content nodes in the tree. This makes it particularly easy for content editors to create new content in the right place and have the menus, breadcrumbs and URLs always consistent.

We are probably going to move to Drupal 7. What is the standard approach to large, tree-structured sites like this? I don't want to have to create new tag names (taxonomy terms?) for every single section since there are hundreds of 'container' type pages that contain lists of other pages. It seems far easier to just slot the node into a tree.

I suspect there is something obvious I'm missing - I would think it is pretty normal to have a tree like structure of content. Any help much appreciated.

        
         
         

回答列表

1
 
vote

良好的策略是利用Workbench并从菜单中创建部分。

所以你会有你的主菜单,让我们说3-4级深,模仿分类物。首先,它更容易创建分类,因为有一个模块将从分类系统创建菜单。

所以你创建了你的分类,你的结构持续3-4级。然后从中创建一个菜单。

安装工作台和工作台访问和审核模块。

配置访问以使用分类分配的分类,然后配置URL参数以从分类中拉动,因为这将照顾您的URL和面包屑。如果需要,请使用自定义面包屑模块​​生成面包屑。

然后在每个内容类型上添加一个新的档案,这些部分将从您的分类系统中拉动。所以在添加内容时,您选择它应该居住的树中的位置。

例如,您正在添加需要居住在我们&gt的"帮助" 节点;服务和关于我们和服务在菜单中。帮助不需要在菜单中,但需要遵循关于我们和GT的关于我们;服务>帮助道路。

使用Workbench模块,您可以轻松实现这一目标。在某种程义上,您的分类系统充当桶中的桶。如果您需要使用菜单块,则此驱动URL,Breadcrumbs以及左路或右侧导航菜单。

所以总结步骤:

  1. 创建要在菜单中的项目的分类系统。
  2. 使用分类法使用分类系统2菜单模块创建菜单。
  3. 安装模块的工作台套件。
  4. 配置工作台访问以从分类中拉动。
  5. 调整内容类型以添加​​分类系统的字段,仅为您不希望节点的多个路径,仅为1。
  6. 配置URL模式以从分类父母拉。
  7. 安装和配置自定义面包屑,也使用URL路径。
  8. 安装和配置菜单块以使用URL路径。
  9. 开始添加内容和分配部分。

这种方法的额外优势是您还可以限制哪些角色或用户可以在每个部分中编辑内容,这样您就可以使用人力资源访问本网站的部分中的编辑内容。

 

Good strategy is to utilize Workbench and create sections from your menu.

So you would have your main menu, lets say 3-4 levels deep and mimic those in Taxonomy. Its easier to create taxonomy first as there is a module that will create menu from taxonomy.

So you create your taxonomy that has your structure going 3-4 levels deep. Then create a menu from it.

Install Workbench and Workbench Access and Moderation modules.

Configure Access to use Taxonomy for section assignment and then configure URL parameters to pull from Taxonomy as this will take care of your URL and breadcrumbs. Use Custom Breadcrumb module to generate breadcrumbs if you need them.

Then on each content type add a new filed for Sections which will pull from your taxonomy. So when adding content you select where in the tree it should live.

For example you are adding "Help" node which needs to live in About Us > Services and About Us and Services are in the menu. Help does not need to be in menu but needs to follow the About Us > Services > Help path.

By using Workbench modules you can easily achieve that. In a sense your taxonomy acts as buckets into which content is placed. This drives URL, Breadcrumbs as well as left or right nav menu if you need one using Menu Block.

So to summarize the steps:

  1. Create taxonomy of the items you want to be in menu.
  2. Create menu from taxonomy using Taxonomy 2 Menu module.
  3. Install Workbench suite of modules.
  4. Configure workbench access to pull from Taxonomy.
  5. Adjust content types to add a fields for Taxonomy selection, make it only 1 as you don't want multiple paths for nodes.
  6. Configure URL Patterns to pull from taxonomy parents.
  7. Install and configure Custom Breadcrumbs to also use URL path.
  8. Install and configure Menu Block to use URL path.
  9. Start adding content and assigning sections.

Additional benefits of this approach is that you can also restrict which roles or users can edit content in each section so you can have HR only have access to edit content in their part of the site.

 
 
     
     
1
 
vote

没有什么能阻止您使用分类,实际上您应该使用分类,因为树是一种简化和分类形式的分类物。因此,树是分类学特征的子集。

因为您可以创建分类儿童和父母,基本上是一棵树。 Drupal全部建在分类学中,所以如果你使用Drupal,你真的想坚持使用分类法。

有数百个包含列表的"容器" 类型页面 其他页面。将节点插入树

似乎更容易

您正在描述一个查看在此处,只要有人请求A的内容,就可以编程方式创建部分(实际上是分类学期)。将其视为作为一种自动更新的索引。视图模块几乎是强制性的每个站点。

你应该真正花时间考虑你的网站的设计和结构,然后让你的手脏了。设计越好,执行时间较低,渣子是如此如此。

希望它有所帮助。

 

Nothing stops you from using taxonomy, in fact you should be using taxonomy for categorization since a tree is a simplified and hierarchical form of taxonomy. So a tree is a subset of the features of taxonomy.

Since you can create taxonomies children and parents, you got essentially a tree. Drupal is all built around taxonomies so you really want to stick to using taxonomy if you go with Drupal.

there are hundreds of 'container' type pages that contain lists of other pages. It seems far easier to just slot the node into a tree

You are describing a View here, and they can be programmatically created whenever someone requests the content of a section (a taxonomy term indeed). Think of it as an index that keeps itself updated automatically. The Views module is almost mandatory for every site.

You should really take your time thinking about the design and structure of your site before getting your hands dirty. The better the design, the lower execution time, this is so true with Drupal.

Hope it helps.

 
 
0
 
vote

我刚刚发布了这一点:"命令作为文本,使用您最喜欢的代码编辑器管理巨大的树木" https ://groups.drupal.org/node/254588

也许不是你可以使用的东西,而是只是为了思考的食物。

这个模块的想法,我把自己放在一起是从UI抓住树作为文本,在代码编辑器中编辑它,粘贴回来并保存。 Drupal Crunches,创建树,您可以在照顾树格式的视图中查看层次结构。

很酷的是,代码编辑器可以处理浏览器不能处理的数百或数千行。

 

I posted this some while ago: "Order as text, manage huge trees with your favourite code editor" https://groups.drupal.org/node/254588.

Maybe not exactly what you could use, but just food for thought.

The idea of this module that I put together for myself is to grab the tree as text from UI, edit it in a code editor, paste it back, and save. Drupal crunches, creates the tree and you can view the hierarchy in a view that takes care of the tree formatting.

The cool thing is that code editor can handle hundreds or thousands of rows where browser can't.

 
 
0
 
vote

我会说你不需要分类或其他任何东西,而是只有一个菜单结构。

菜单系统足以定义父母和孩子的顺序是什么是父母和孩子的顺序。

书模块(附带核心)使用相同的策略,但可能您甚至不需要。

问题1:如何编辑大菜单?

  • 如果所有菜单项一次加载,菜单配置表单将非常沉重。
  • 没有方便的散装编辑。或者是?
  • 您可能需要一个工作流程,允许您首先构建层次结构,并稍后添加节点。
嗯,菜单编辑器确实可以帮助您使用批量编辑。但它只能一次处理这么多菜单。没有硬的限制,但它会减慢一切 - 但请试一试!有一个提出分页的功能请求,但这在树内自然很难。

它还可以帮助您创建稍后可以充实的虚拟菜单链接(通过me_node_creation子模块填充节点)。

所以你可以尝试这个并帮助我改善这件事..

问题2:显示子页面减免

你说你的一些页面就像子页面的容器一样。您可能希望这些以显示子页面列表。

我在客户端这样做的方式是使用 menupoly 并创建一个自定义menuteme将每个链接呈现为节点预告值。然后通过hook_menupoly将块显示使用此menuteme显示当前页面的子菜单。我想我应该在沙箱中上传那个代码!

我很抱歉,这东西都是"需要工作" ,我会喜欢一些帮助。但我认为这一切都变得非常酷。

 

I would say you don't need taxonomy or anything else, but ONLY a menu structure.

The menu system is enough to define what is the parent and what is the child, and the order of the children.

The Book module (shipped with core) uses the same strategy, but probably you don't even need that.

Problem 1: How to edit large menus?

  • The menu configuration form will get very heavy if all menu items are loaded at once.
  • There is no convenient bulk editing. Or is there?
  • You may want a workflow that lets you build the hierarchy first, and add the nodes later.

Well, Menu editor does help you with the bulk editing. But it can only handle so many menu items at once. No hard limit, but it will slow down everything - but give it a try! There was a feature request that asked for paging, but this is naturally hard within a tree.

It also helps you to create dummy menu links that can be fleshed out (filled with nodes) later (via me_node_creation submodule).

So you could try this and help me improve this thing..

Problem 2: Display sub-page teasers

You said some of your pages are like containers for sub-pages. You probably want these to show a list of sub-pages.

One way I did this on a client side was to use Menupoly and create a custom MenuTheme that will render every link as a node teaser. Then a block via hook_menupoly to display the submenu of the current page using this MenuTheme. I think I should upload that code in a sandbox!

I am sorry, this stuff is all "needs work", and I would love some help. But I think it can all become pretty cool.

 
 
0
 
vote

到OP关于"如何管理巨大的菜单树" ,您可以尝试 https://drupal.org/project / bigmenu 对Drupal(6& 7)菜单管理UI的替代品,它使用Ajax根据需要加载子树。

因此,您可以展开并处理您的千项菜单列表的部分,而无需逐入一体化菜单UI。
 

To the OP about "How to manage huge menu trees" you can try https://drupal.org/project/bigmenu which is a drop-in replacement to the Drupal (6 & 7) menu admin UI that uses AJAX to load the subtrees as needed.

So you can expand and deal with just the sections of your thousand-item menu list without the all-in-one menu UI falling over.

 
 
-1
 
vote

我第一次看Drupal,我发现缺乏层次的支持令人不安,我认为不断更新的分类对于任何大型场地都是过多的,特别是分布式创作基础(例如大公司或政府机构)。

我认为我已经找到了一个解决方法,使用模块节点层次结构和一些其他模块。

基本上您指定允许哪些内容类型是子项和/或父母,然后在编辑节点时,您可以选择"创建子" 。创建子节点后,父节点将有一个选项来查看子节点,可以从此屏幕控制订单。

使用模块路径uto自动呈现基于父族 - [儿童]关系的URL别名。

最后使用模块菜单块基于父子层次结构添加菜单。

更详细的描述/指令在这里:

https://www.youtube.com/watch?v=oz3xkf819c0 < / p>

编辑:更新我的答案以更好地符合指南。

 

I'm looking at Drupal for the first time and I found the lack of hierarchy support troubling and I think constantly updating taxonomies would be too much overhead for any large site, especially with a distributed authoring base (e.g. large corporation or government agency).

I think I have found a solution using module Node Hierarchy (primarily) and some other modules.

Essentially you specify which content types are allowed to be children and/or parents, and then when editing a node you have the option to 'create child'. Once child nodes are created, the parent node will have an option to view child nodes, and ordering can be controlled from this screen.

Use module Pathauto to automatically render URL alias based on parent-child-[child] relationships.

Finally use module Menu Block to add menus based on parent-child hierarchies.

A more detailed description/instruction is here:

https://www.youtube.com/watch?v=oz3xkF819c0

EDIT: Updated my answer to better conform to guidelines.

 
 
 
 

相关问题

1  如何解决这个问题  ( How to solve this tac problem ) 
TAC安装(分类访问控制)。有一个名为"TAC角色" 的分类词汇,确​​定哪些用户可以查看哪些内容。在这种词汇中,两个角色:"可信用户" 和"独占访问用户" 。还有相同名称的角色。 现在我想要的是,如果他们拥有与TAC角色词汇表关联的所有角色,用户只能看到内容。即:如果一段内容都有两个术语,只选择具有两个角色的用户...

2  更好的暴露配偶有视图:如何显示标记为某些术语的节点数量?  ( Better exposed fiters with views how to show quantity of nodes tagged with cert ) 
我使用具有视图的更好的暴露过滤器。我选择将字段"术语引用" 显示为我公开过滤器上的分层复选框。它很棒。 但现在我需要增加在滤波器内部的每个复选框附近的某个术语的节点数量。 什么是最好的方法? 谢谢! ...

1  Simplenews向所有用户发送了新闻通讯,而不是使用分类法  ( Simplenews sent newsletter to all user not subscribing categroies with taxonomy ) 
我使用SimpleNews模块发送用户新闻,在用户注册中,我在用户注册中添加字段引用一个词汇表(作为一个名称 field_favourites )和用户选择他最喜欢的收藏类别在注册中, 在 admin / stures / types / manage / simplenews / fields 中添加该字段( fi...

0  添加字段以注册订阅时事通讯模块  ( Add a field to registeration to subscribe to newsletter module ) 
我想要类似于电子节目模块(它适用于drupal 6)for drupal 7. 我使用 simplenews 模块,它将订阅字段添加到用户注册,但我的问题是,在注册用户中,用类别选择(来自收藏分类)想要订阅,而且创建SimbleNews内容类型选择此电子邮件发送给它们的术语(根据分类术语发送SimpleNews内容...

0  在URL中使用分类名称的筛选视图  ( Filter view using taxonomy name in url ) 
我有一个显示节点的缩略图和某个内容类型的所有节点的节点的缩略图。我想做的是使用URL 显示标记为特定单词的节点。 我的网站分类页有这个格式/类别/标签/美女 如何这样做? ...

0  Drupal 7视图结构:不同的节点应收集不同(术语)列表  ( Drupal 7 views structure different nodes should collect different term lists ) 
我想我可以用观点来解决这个问题,但找不到一个很好的解决方案。 我有节点:蔬菜,水果......(一种内容类型)。 然后我有不同的蔬菜和水果节点:胡萝卜排序1,胡萝卜排序2 ... /沙拉排序1,沙拉SOLT2 ...... / Apple Sort 1,Apple Sort 2 ... 目标是这种结构: 节点蔬...

1  分类令牌抛出无效的令牌错误  ( Taxonomy tokens throwing invalid token error ) 
我有一个drupal 7网站,任何时候我都使用令牌,其中有一个分类学术语,我收到错误, 产品的默认路径模式(适用于下面包含空白模式的所有产品内容类型)使用以下无效令牌:[术语:姓名]。 例如[术语:姓名]或[术语:描述] ...

2  如何在网站上看到最近插入的术语?  ( How to see recently inserted terms in the site ) 
我的许多人在我的网站中标记内容。我想查看所有词汇的新输入的所有这些词汇。有什么简单的方法吗?我在添加新任期时,我不知道没有作者/日期时间条目。 我知道一个原油方法。我可以记住昨天的TID,如果我想看到今天的条目,请展示大于它的所有条款。 ...

1  分类术语作为实体参考视图的参数  ( Taxonomy terms as arguments to an entity reference view ) 
我有两个内容类型,通过某种词汇量级分类。 第一个内容由实体参考字段(自动完成)引用另一个内容。 我需要的是如下: 当我创建第一个内容类型时,我从术语引用中选择分类学术语来对内容进行分类。 然后,实体参考字段仅示出所选术语分类的节点(通过视图滤除实体参考以显示第二内容类型的节点)。 是否有任何工作解决方案? ...

0  如何在其他页面上显示文章?不在主页  ( How to display articles on another page not in home page ) 
我已经为我的项目进行了一些文章,如何在另一页面上显示所有文章? 不在主页上。 ...

1  单击标记时显示特定文章  ( Show specific articles when clicking on tag ) 
我正在使用包含文章和包含标记的块视图的页面视图。我想显示标记的所有文章,标记为我点击的标签。 所以,当点击城市标签时,我只想显示标记的文章,有谁知道我如何实现这个? 感谢 ...

2  将分隔的文本字段映射到迁移中的分类系统  ( Mapping delimited text field to taxonomy field in migrate ) 
我的迁移来自当前正常工作的外部(非Drupal)DB。我正在尝试从外部数据库添加一个字段,其中包含分隔的术语列表。 我已经设置了如下所示的字段映射: $entityoptions = variable_get('entitydropdown'); 0 我想动态将这些术语添加到Field_test_struc...

3  如何用层次结构迁移分类法?  ( How to migrate taxonomy with hierarchy ) 
我正在尝试从普通的迁移数据库表中创建分层分类,如下所示: ID | NAME | PARENT ------------------ 0 | FOO | 1 | BAR | 2 | LORE | FOO 3 | IPSE | FOO 4 | DOLO | BAR 这...

2  为什么标题是分类学视图中缺少的?  ( Why is the header missing from a taxonomy view ) 
我有两个视图,第一个是没有页面或块创建的,并且保留了"show" 的所有默认值。我在该视图上有一个标题,它显示得很好。 其他视图是使用没有页面或块创建的,但显示从"内容" 到"分类" 更改为"分类" ,我从下一个选项框中选择了我的词汇表。我有一个类似的标题到这个视图(两者都使用面板窗格),但分类学的标题没有显示。如果...

2  Chage查看标题与分类项  ( Chage view title with taxonomy term ) 
我有一个分类词汇作为人。在它中有两个术语 Board 和员工。 我已经创建了两个显示器的视图,以显示有关分类术语的人们内容。观点标题是董事会成员。 当我访问电路板 http://example.com/people/board 标题是董事会成员。 当我访问员工页面 http://example.com/peopl...

0  从节点内容自动生成分类项  ( Generate taxonomy terms from node content automatically ) 
在WordPress中,有一个插件可以根据节点内容自动创建标签。我不知道它是如何做到这一点,但也许它抬头看着身体内容中最常见的单词,并用它们作为标签。我有一些丢失标签的帖子,能够自动从脚本中从帖子生成一些新的帖子,而不是必须通过返回并手动执行它们。 ...

1  允许用户更改术语,以获取视图和分类  ( Allow user to change term for views and taxonomy ) 
我有一个视图,它在网格中显示内容类型并正常工作。 内容类型有一个分类字段 - 所以当创建节点时,用户从列表(层次结构)中选择分类项 - 然后在节点上显示一旦发布。 在我的观点中,我已经增加了'内容:在"过滤标准" 下有分类学术语,但我不确定如何将其工作。在块上,用户看到我希望它们能够在自动完成字段中键入术语,然后将更...

0  如何在页面顶部显示“按术语”和“查看”选项卡?  ( How to remove by term and view tab being displayed at top of pages ) 
在Drupal 6站点上,我有这些令人讨厌的'查看'和'按术语'选项卡在所有节点类型上显示。我想知道如何删除/禁用它们? ...

0  使用Active Trail CSS类创建分类菜单的一些视图字段?  ( Creating some views fields for a taxonomy menu with the active trail css classes ) 
我有一个分类词汇表,我想用来在我的网站上创建一些导航。 术语: 天气 衣服 日历 运动 我希望能够提取这些术语并将它们放在网站的导航中。但是,我希望能够重写这些术语转到的链接,因此而不是转到分类术语默认页面他们转到: /主题/ [插入_taxonomy_term_here] / step-2 这是因为我使用该...

4  过滤分类菜单块上显示的节点  ( Filtering nodes shown on taxonomy menu block ) 
如图中一样,分类术语显示标记的节点数量术语(使用CaCaonomy_Menu模块)。该节点是类型分类广告。 是否有可能过滤掉过期的广告?我的意思是在图片中,第一个菜单项是"10th" ,其中24个节点。但我想过滤出5个过期的节点,其中包含它已过期的隐藏标志。所以应该显示为"10th(19)" 我该怎么做? 看起来...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.