一个项目Drupal的通用建筑方法 -- theming 领域 和 javascript 领域 drupal 相关 的问题

General architectural approach to Drupal for a project


3
vote

问题

中文

为期类的标题道歉,但我的问题是一个相对通用的问题!

我比较新的司布,因为我历史上有一个非常不同的CMS实现方法,我认为我可能会缺少Drupal的建筑品质的观点。

我是一个.NET开发人员,谁使用了umbraco和episerver很多,但在drupal经验有限。

umbraco优惠是用户在管理面板中组织它们的内容的方式,使得物品愉快地坐在其他项目下的树结构中。

在您有新闻部分的情况下,您将在Umbraco中具有以下结构:

新闻登陆页面
- 新闻报道1
- 新闻报道2
- 新闻报道3

该分层方法也很容易地传输,以组织其他类型的内容,例如特定页面的幻灯片。您可以拥有一个主页,该主页将包含一个幻灯片,其中有四个幻灯片,并且该幻灯片可以特定于该主页。这看起来像这样:

  • 主页
    • - 幻灯片
    • +幻灯片1
    • +幻灯片2
    • +幻灯片3
    • +幻灯片4

在Drupal中,我注意到所有页面都在一种"页面汤" 中作为别人创造的,并且依赖分类的实施,以确保在前端组织内容。< / p> 我知道drupal提供菜单结构,它允许您形成这种结构,但似乎如果您想组织实际内容而不是内存引用内容,您将有点丢失。

我发现在umbraco中非常有用的另一个功能是能够以编程方式提取页面对象,并且可以访问API,允许我获取该页面的子项,并在标记中显示我认为适合的方式。文件系统如下所示:

主页.aspag.aspx
- SlideShow.ascx

这允许您将该幻灯片向导拖动到任何页面上,控制将转到并获取其父的子项,并自动显示这些幻灯片项。

是在Drupal内尽可能的吗?我完全错过了这一点吗?我会喜欢这一点的一点方向,因为我现在一直漂浮在一般的内容领域!

谢谢任何帮助!

英文原文

Apologies for the inspecific title, but my question is a relatively generic one!

I'm relatively new to Drupal, and because I've historically had a very different approach to CMS implementation, I think I may be missing the point of the architectural qualities of Drupal.

I'm a .NET developer who's used Umbraco and EPiServer a lot, but had limited experience in Drupal.

What Umbraco offers is a way for users to organise their content in the admin panel, such that items will happily sit in a tree structure under other items.

In the case that you have a news section, you would have the following structure in Umbraco:

News landing page
- News story 1
- News story 2
- News story 3

This hierarchical approach is also easily transferrable to organising other types of content, such as slideshows for a specific page. You could have a homepage which would consist of a slideshow with four slides in it, and that slideshow could be specific to that homepage. This would look like this:

  • Homepage
    • - Slideshow
    • + Slide 1
    • + Slide 2
    • + Slide 3
    • + Slide 4

In Drupal, I've noticed that all pages sit together in a sort of "page soup" as someone else coined, and an implementation of a taxonomy is relied upon to ensure that content is organised on the front-end.

I'm aware that Drupal offers a menu structure which allows you to form this structure, but it seems like if you want to organise actual content rather than memory references to content, you're a bit lost.

Another feature I found extremely useful in Umbraco is the ability to programmatically fetch page objects, and to have access to an API allowing me to get the children of that page, and display them within the markup the way that I see fit. The filesystem for this would look like this:

Homepage.aspx
- Slideshow.ascx

This allows you to drag that slideshow.ascx control onto any page, and the control will go and get the children of its parent, and display those slideshow items automatically.

Is all of this possible within Drupal? Am I missing the point entirely? I would love a bit of direction on this, as I've been floating around the general area of content for a little while now!

Thanks for any help!

     

回答列表

3
 
vote

这是新开发人员到Drupal的公共灰度区域。每个"页面" 的根源是index.php。没有"页面" 本身,每个动态生成的"页面" 是一个容器。地区(在orthemes/bartik/bartik.info文件中找到,在Drupal 7安装中没有任何更改或添加到Drupal Core))建立了可以添加不同类型内容的容器的部分(即块,菜单,视图,等待。)我建议阅读关于Drupal的引导过程,它是在引导过程中,所有内容都会通过URL呼叫URL。使用Drupal接口和添加模块将方法添加到"生成" 或"包含" 不同类型的内容。有超过10,000个模块(和计数),可以为Drupal环境添加功能。通常,少数推荐的模块提供了最大的凝聚力和强大的方法,可以在推荐的Drupal网站内开发几乎任何内容。这种最终的灵活性需要一段时间才能掌握和工作,但一旦你这样做,你永远不想回去。

 

This is a common grey area for new developers to Drupal. The root for every "page" is index.php. There is no "page" per se, every dynamically generated "page" is a container. Regions (found in either /themes/bartik/bartik.info file in Drupal 7 installations without any changes or additions to Drupal core yet) establish the sections of the container that you can add different types of content (i.e., blocks, menus, views, etal.) I would recommend reading about the bootstrap process for Drupal, it is during bootstrap that everything gets called on a url by url basis. Using the Drupal interface and adding modules adds ways to "generate" or "contain" different types of content. There are over 10,000 modules (and counting) to add functionality to the Drupal enviroment. There are, generally, a handful of recommended modules that provide the most cohesive and robust ways to develop almost anything within your Drupal site that are recommended. This ultimate flexibility takes a little time to grasp and work with but once you do, you never want to go back.

 
 
 
 
2
 
vote

我想用查看模块来实现许多您想要的。它是一个模块,可以从数据库中创建节点,用户等的自定义查询。虽然核心并不真正具有您正在谈话的管理面板,但您可以使用列出每个节点的子的视图创建自定义。如何使用分类系统或 cck

第二点相同。视图提供了几种默认方法来输出这些查询(页面,块,RSS源等),您可以始终修改模板文件以更改输出。视图也占据参数,因此您可以创建一个视图,传递一些参数并以多种方式重新使用相同的视图。

 

I think a lot of what you want can be achieved with the Views module. It's a module that creates custom queries of nodes, users, etc. from the database. While the core doesn't really have the sort of admin panel you're talking about, you can create a custom one using views that lists the children of each node. How you create that parent-child relationship can be achieved using taxonomy or CCK node references (in Drupal 6) or the Field API in Drupal 7.

The same goes for your second point. Views provides several default ways to output those queries (pages, blocks, RSS feeds, etc.) and you can always modify the template files to change the output. Views also take arguments, so you can create one view, pass it some arguments and re-use the same view in multiple ways.

 
 
   
   
2
 
vote
vote
最佳答案
 

我已经使用了一系列模块来实现我想要的ropal;这些中最积分的是节点层次结构。

这使我允许我使用我的亲子关系,虽然这可能不是Drupal旨在构建内容的方式,但我当然发现它非常有用!

我旨在利用视图,但放弃了它们,因为他们不适合我之后的东西。但是,如果要以编程方式将视图介绍到代码中而不是使用完整的UI和块的东西,可以查看此示例:

http://drupal.org/node/685432

 

I've used a collection of modules to achieve what I wanted with Drupal; the most integral of these is Node Hierarchy.

This has allowed me to use the parent-child relationship I was after, and although this may not be how Drupal was intended to structure content, I've certainly found it extremely useful!

I had intended to utilise views as well, but abandoned them as they didn't suit what I was after. However, if you want to programmatically introduce views into your code rather than using the full UI and blocks stuff, you can look at this example:

http://drupal.org/node/685432

 
 

相关问题

2  关于template.php不太确定  ( Not too sure about template php ) 
我主要是一个设计师,我现在一段时间一直在努力。在这一点上,我很乐意快速将我的设计转换为Drupal主题,但我继续怀疑如何使用template.php文件......我已经读过了一点,但我的理解它的有用性充其量是理论。 显然,它不是必需的文件,因为它从未阻止过我的主题在过去工作,但它是建议在所有情况下拥有一个?是否有...

1  将分类学特定的CSS文件添加到某些页面  ( Adding a taxonomy specific css file to certain pages ) 
我用多个子门户构建一个网页,所有这些都应该略有不同的CSS样式。 是否可以根据节点的分类方式添加某个CSS文件? drupal_add_css 可能? 我使用Drupal 6. 谢谢, 最大 ...

8  如何将CSS类添加到渲染阵列?  ( How to add a css class to an render array ) 
在模板文件中,之前 print render($content['field_image']); 我想向 998887661 渲染阵列中的图像添加CSS类。我怎样才能做到这一点? 这是渲染阵列: Array ( [#theme] => field [#weight] => 2 [#title] => Image ...

0  如果页面URL包含“页面=”,则不会呈现使用视图创建的块  ( A block created with views is not rendered if the page url contains page ) 
我有一个奇怪的问题。我正在使用Drupal 7和Omega Subtheme。在视图中,我有一个块定义,它很棒 - 出现它在网站上都应该在网站上 - 除非URL有一个"?页面=" 。有些可能相关的信息:CLEAN_URL和PATHAUTO启用,已安装的三角形和布局,但没有定义DELTAS。 当我创建了一个页面视图(不...

1  在块中显示自定义字段  ( Show a custom field in a block ) 
我疯了试图在侧栏块中显示自定义字段(现在在核心)的值。我试图用渲染函数来显示它,直接调用字段,没有运气。 我有一个名为"content1" 的自定义内容类型,以及名为"field_test1" 的自定义字段;我希望在查看页面节点时将在块上显示该值。 你有什么建议如何做到吗? ...

0  针对不同内容类型的不同文件夹中的Drupal模板文件  ( Drupal template files in different folders for different content types ) 
我正在尝试让drupal扫描多个目录以查找页面和节点的模板文件。我有一个名为"比赛" 的内容类型。我有一个带有"http://mysite.com/contest/test的节点" 我想拥有一个如下文件夹结构: templates page page.tpl.php pa...

0  在主题上实现hook_block_configure  ( Implement hook block configure on theme ) 
是否可以在主题内实现钩子_block_configure?我想拥有一个与每个块中的主题相关的配置,但不希望在模块中实现这一点,因为我会生成从主题到模块的依赖关系。 ...

0  如何将绝对位置设置为视图(或div类)?  ( How to set an absolute position to a view or div class ) 
我有2个视图,在页面的两个侧栏上显示广告。在其中一个之上,是显示文章的另一个视图。显示文章的视图可以是20px和200px之间的任何位置的高度,具体取决于当时的文章。我需要它下面的广告与另一个侧边栏上的广告对齐。如果我使用像边缘一样的东西,如果在网站的整个寿命中存在相同数量的文章,它只工作。我希望做一些像锚点的东西,...

1  涉及在Drupal 7中使用快速标签的自定义节点模板?  ( Custom node template involving the use of quick tabs in drupal 7 ) 
我有我想要显示的产品分为快速标签。我最初在考虑使用多个观点来执行此操作,但是我意识到必须使用节点 - product.tpl.php进行方法。它们被分开的方式如下: 一个快速标签,具有基本图像,标题和关于产品的一小段。 第二个选项卡应具有该产品的功能。 第三个应该是产品的描述。第四个应该是文件(图像和视频,音...

1  Drupal 7:如何将内容的标题分成多行  ( Drupal 7 how to break title of content into multiple lines ) 
我网站上的大多数内容节点都有两个部分(英语|阿拉伯语)。我想在两者之间进行一条线条休息,使破碎的文本看起来不会尴尬。但是当我放一个HTML线条断裂标签时,标签本身就会显示在标题中。 怎么办? 赞赏... ...

1  主题功能在D7中输出管理叠加?  ( What theme function outputs the administrative overlay in d7 ) 
哪些主题函数在D7中为管理叠加的输出产生的函数? ...

1  如何更改其发生的所有表单/页面上的用户名字段的标签?  ( How to change the label of username field on all forms pages that it occurs ) 
以下代码段将用户注册表单上的用户名字段的标签从"用户名" 到"昵称" (插入主题的template.php时: function my_theme_form_user_register_form_alter(&$form, &$form_state, $form_id) { $form['account...

27  如何在Page.tpl中插入搜索框? [关闭]  ( How can i insert search box in page tpl ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并阐明编辑此帖的问题。 closed 上个月。 ...

1  如何为原始,自定义前页布局定义自己的块地区?  ( How to define my own block regions for original custom front page layout ) 
我想为前页定义自己的块区域 我想拥有一个块网格,每个块包含最近的媒体列表(图片,youtube,音频),具有一定标签。请参见"Wireframe" 下面的ASCII艺术品 块的规则是,如果项目已经出现在一个块中,则它不会出现在其他块中(媒体项可以显然有多个标签)。 绘图后的问题。 +---------------...

3  向生产站点导出块[复制]  ( Export blocks to production site ) 
这个问题已经在这里有答案: 关闭 9年前。 可能的重复: 重新实现菜单和块(d7) 我需要一种方法可以轻松地将块配置从我的临时站点传输到现场站点。 我一直在努力为客户实施一个新的主题,并...

2  作者如何选择不同的显示名称?  ( How can authors choose a different display name ) 
我正在寻找添加到创建用户功能以允许或显示下拉或者文本字段,或者允许用户创建自定义显示名称以与他或她将要创建的帖子关联。 ...

2  将静态页面添加到Drupal原样  ( Adding static pages to drupal as is ) 
我想添加一个静态页面到drupal。 具体,例如, <html> <head>....</head> <body> Hi there <a href="/node/add/this">Link</a> </body> </html> 没有侧边栏。没有任何笨拙的东西。只是一个很好的...

1  弹出窗口中的丰富文本编辑器[已关闭]  ( Rich text editor in popups ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并通过编辑此帖的问题。 closed 去年。 ...

2  如何在Drupal 7中自定义管理工具栏?  ( How to customize the admin toolbar in drupal 7 ) 
我正在尝试在Drupal 7中自定义管理工具栏,但我不知道如何做到这一点。 我想添加仅适用于特定用户的自定义链接(例如节点/添加/ [Content-Type])和链接。 [编辑]最后,我使用了 admin_menu module ,我添加了一个自定义模块的菜单项使用 hook_admin_menu_output...

1  将简单的PHP数组渲染到HTML表中  ( Rendering a simple php array into an html table ) 
我正在尝试渲染一个简单的php阵列witch不是一个drupal渲染阵列,基本上它是这样的: array( array( 'Some Index:', ' Some value', ), array( 'Some Index:', 'Some value', ) )...




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


Licensed under cc by-sa 3.0 with attribution required.