媒体库模块的路径配置 -- 7 领域 和 uri 领域 和 media 领域 drupal 相关 的问题

Path configuration in media gallery module


4
vote

问题

中文

我正在使用媒体库模块来创建画廊和pathauto模块来生成URL。

对于一个图库,我将使用此模式为URL

  photo-gallery/[node:title]   

当用户将单击任何照片时。我在不同的页面上显示图像。

但我没有得到方式设置将显示单个图像的页面的路径。

自动它会生成如此

的URL
  /media-gallery/detail/356/460   

有没有办法? 任何帮助将不胜感激。

英文原文

I am using Media gallery module to create gallery and pathauto module to generate URL.

For a gallery page I use this pattern for URL

photo-gallery/[node:title] 

When user will click on any photo. I am showing that image on different page.

But I am not getting way to set path for page where the single image will be displayed.

Automatic it generates URL like this

/media-gallery/detail/356/460 

Is there any way around this? Any help will be appreciated.

        

回答列表

5
 
vote
vote
最佳答案
 

Letharion发布的解决方案将正常工作,但与路径自动进行集成是更好的解决方案,如他写的。

在不是那么艰难地这样做,但第一次做有点棘手。

要做几步。

    首先,您需要实现 hook_pathauto ,以便获取别名应该如何看起来的设置。在这里,您可以提供关于哪种类型的令牌可以用于路径替换等信息。
  1. 第二,您需要创建一个可用于生成别名的函数。它应该看起来像这样。

      function foo_pathauto_update_alias($file, $op, array $options = array()) {   module_load_include('inc', 'pathauto');   $path = media-gallery/detail/' . $file->bid . '/' . $file->fid   pathauto_create_alias('aug_product', $op, $path, array('file' => $file)); }   

    路径自动基于实体。因此,您需要能够从单个实体生成路径。在这种情况下,创建的文件。通过使用上述功能结构,您可以使用单个函数,并利用它来用于批量更新以及常规更新,同时保持路径自动功能完好无损。

  2. 最后,您需要在创建或更新文件时调用更新功能。这将处理路径别名创建。这样做,如果数据更改,如果要执行此操作,则可以将路径自动自动更新路径别名。路径自动模块中有此设置。

  3. 为奖金,您可以选择创建批量更新函数,这将使您为创建任何文件的别名。它需要一点工作,但应该很好地工作。

注意这样做,使用文件实体模块是一个好主意,因为它允许您处理像实体这样的文件,这适合路径自动。

 

The solution that Letharion posted will work fine, but making integration with path auto is a better solution like (s)he writes.

Doing this in not that hard, but it can be a bit tricky to do the first time.

To do it you need a few steps.

  1. First you need to implement hook_pathauto in order to get the setting for how the alias should look like. Here you can give info about which type of token can be used for path replacements etc.

  2. Second you need to create a function which can be used to generate an alias. It should look something like this.

    function foo_pathauto_update_alias($file, $op, array $options = array()) {   module_load_include('inc', 'pathauto');   $path = media-gallery/detail/' . $file->bid . '/' . $file->fid   pathauto_create_alias('aug_product', $op, $path, array('file' => $file)); } 

    Path auto is based on entities. So you need to be able to generate the path from a single entity. In this case the file that's created. By using the above function structure you can use a single function and utilize it for bulk updates as well as regular updates while keeping path auto functionality intact.

  3. Lastly you need to call your update function when file is created or updated. This will handle path alias creation. Doing it this way, you can also get path auto to update path alias if the data is changed and the alias should be different, if you want to do so. There is settings for this in the path auto module.

  4. For bonus you can choose to create a bulk update function, that will enable you to the alias for any file created. It takes a bit of work, but should work nicely.

Note doing it this way, it will be a good idea to use the file entity module, as it allows you to handle files like entities, which fits path auto a lot.

 
 
 
 
2
 
vote

Media-Galler会寄存"Media-Gallery / Detail /%Node /%文件" 路径,这意味着您可以将别名添加到它上。

保存画廊后,可以使用form_alter为每个图库图像创建路径别名,这应该解决您的问题。

  function hook_form_ID_alter($form) {   foreach($form['images'] as $image) {     path_save(array('sources' => $image->path, 'dest' => 'pretty-url'));   } }   

一个凉爽的解决方案将是直接的途径集成,但我不够知识渊博,告诉你需要做什么工作。

 

Media-gallery registers the "media-gallery/detail/%node/%file" path, meaning you can add an alias onto it.

Upon saving the gallery, you could with a form_alter create path aliases for each gallery image, which should solve your problem.

function hook_form_ID_alter($form) {   foreach($form['images'] as $image) {     path_save(array('sources' => $image->path, 'dest' => 'pretty-url'));   } } 

A cooler solution would be direct pathauto integration, but I'm not knowledgeable enough to tell you what is required to get that working.

 
 
       
       

相关问题

2  评论通知  ( Comments notification ) 
匿名用户发送评论时的评论通知在哪里? 我没有在仪表板或其他页面中找到任何通知,以批准评论。 ...

0  我可以在media.variables.inc中更改默认的URI方案吗?  ( Can i change the default uri scheme in media variables inc ) 
默认的URI方案是公共的://,我想更改它。 所以,我可以覆盖media.variables.inc中包含的以下代码吗? define('MEDIA_RESOURCE_URI_DEFAULT', 'public://'); define('MEDIA_TYPES_DEFAULT', '*'); 我应该在 M...

3  关于模块的手册让我困惑  ( Manual about modules confusing me ) 
我正在阅读Adashres的"明确指南" 到Drupal 7,我正试图了解他们所说的话。对于那些拥有这本书的人,第404页,它说 - 我引用 - "每条路径最终匹配了一个页面回调函数的菜单项,该函数具有在该路径处显示页面的主要责任。" 但不符合菜单项的路径不匹配?或者在此内容中的菜单项不同的东西开始吗?和菜单项包含...

1  Mediafront模块显示缩略图而不是原始图像  ( Mediafront module showing thumbnails instead of original image ) 
我正在做烦人的crosspost,但我无法在drupal.org上得到任何答案,所以希望这里有人能回答这个问题。 我正在使用MediaFront模块在滑块中显示图像或视频。它显示了视频即可,如果第一个幻灯片是正确显示的图像。然而,随后的幻灯片将图像显示为缩略图。它在图像标记中放置了特定的样式,以使其成为缩略图。我真的...

1  用视图让我的道路/面包屑  ( Getting my paths breadcrumb right with views ) 
在使用视图时是否可以获得SEO友好URL?我有一个网站,我正在建立一个主页,导致两个主要观点("Homme" 和"Femme" )。我需要网址和面包屑阅读"家庭> homme>>>的名称。" 然后,在文章页面上,我需要"homme" 作为链接。非常直接,你在网站上的期望,对吗?我确实下载并安装...

2  最近的论坛主题在主页的侧边,最近的文章和论坛主题上关于论文的最新文章  ( Recent forum topics on sidebar of home page recent articles and forum topics on ) 
我有点麻烦找到信息,以帮助我弄清楚我想要做什么。请原谅我,因为我是Drupal的API。我有3个特殊的情景,我希望在正确的方向上有点帮助。 1 - 我真的很喜欢默认情况下在前页上显示最新文章。我想知道如何拥有最近的论坛主题,与最近的文章分开,在侧边栏上。只是文字就足够了。请告诉我这是可能的。我搜索了几个小时寻找某...

1  无法以自定义形式使用文件字段 - 给出Ajax错误  ( Cant use file field in custom form gives ajax errors ) 
我正在构建自己的表单,用于在节点类型上编辑某些字段,我正在使用field_attach_form()来将字段从该节点类型添加到我的表单中。 使用field_attach_form()获取添加到$表单数组的字段,然后我隐藏一个我不需要的人,将它们设置为 '#access' => FALSE 。对于所有文本字段,选择等,...

2  如何防止被阻止用户的用户配置文件显示出来?  ( How to prevent the user profile page of a blocked user to show up ) 
当用户被阻止时(核心)用户配置文件仍然可访问。我宁愿展示消息"此用户配置文件已被删除" 。 我可以在user-profile.tpl.php中写入异常。有更好的方法吗? ...

1  如何制作一个包含有关文章作者的所有信息的块?  ( How can i make a block that holds all the information about an articles author ) 
我想在所有文章节点的侧栏中添加一个块,其中包含撰写文章的用户的迷你资料。我想知道是否有一种简单的方法来做到这一点。谢谢 ...

2  关系如何在意见中工作?  ( How do relationships work in views ) 
这与我以前的问题有关,如何制作一个块,该块保存有关文章作者的所有信息?我想制作一个块,该块包含有关创作节点的用户的所有信息。我开始使用视图来制作块,并找到下面的字段"内容:uid" ,其被描述为: 用户创作内容。如果您需要比UID更多的字段添加内容:作者关系 我想知道这是否可以帮助我像我所描述的那样制作这个块。 ...

2  是否可以隐藏区域中的块的标题,以与内容分开呈现它?  ( Is it possible to hide the title of a block in a region to render it separately ) 
我正在为drupal包含"主动论坛主题块" 的自定义区域。我可以隐藏区域中的某些元素 - [name] .tpl.php,就像它在node.tpl.php中所做的那样? 这是我的node.tpl.php:的一部分 // We hide the elements now so that we can re...

16  如何更改表单提交处理程序?  ( How do i alter the form submission handler ) 
出于某种原因,我需要在存储在数据库中的任何形式中以任何形式替换某些字符(如果存在)。换句话说,我需要一个钩子,其中我可以获得所有提交的数据并替换它们的角色。 我找到了这个解决方案: function hook_form_alter($form, $form_state, $form_id) { $form['...

5  从评论表单中删除输入格式选项和说明  ( Removing input formatting options and description from comment form ) 
如何从评论表单中删除输入格式选项和描述? 我对基于CSS和/或jQuery的解决方案不感兴趣,我也不感兴趣地使用更好的格式模块,因为我使用Drupal 7,它专门说明它还没有准备好生产网站(除了安装模块的事实似乎是矫枉过正的事实)。我希望通过电线发送的HTML根本没有"输入格式" 相关文本。 drupal有时会驱动...

1  使用ImageField添加内联映像(保存缩略图,以及用彩色框单击打开时)  ( Using imagefield to add an inline image save thumbnail and when clicked open w ) 
这里是我通常在我的网站中做什么: 可以选择在我选择的Wysiwyg编辑器中添加图像 用户可以上传图像 用户可以调整WYSIWYG编辑器中的图像大小 具有为输入格式启用的图像调整大小过滤器 当用户调整图像大小时,它会自动保存缩略图并添加灯箱/彩色框相关属性,以便使用其中一个库打开图像。 现在问题是什么?我遇到了一个...

2  基于内容职位日期显示的月份和年份  ( Month and year to display based on content post date ) 
我有一个杂志博客,我在drupal 7中创建了。我在右上角显示了日期(2012年1月)。如何根据主视图(博客)登陆页面上显示的文章或当前月份的文章的帖子日期,动态工作每个博客登陆页面都是一个视图,所以内容是这种方式过滤的。我是两个自定义内容类型,以帮助在每个定义上创建的内容和自定义字段作为发布日期,以基于月份推送和提...

1  如何使用其他模板创建自定义页面?  ( How can i create a custom page with a different template ) 
我想要一个页面(例如,在 http://example.com/mypage )显示作为空白页面。如何为该特定页面使用不同的模板,以将其显示为空白页面? ...

3  在Drupal 7中使用带有现场收集的分类学  ( Using taxonomies with field collection in drupal 7 ) 
如何在 field_collection 字段类型中?当字段正在使用时创建分类信息/ p> 我正在努力修改报纸网站的文章内容类型;具体来说,我添加了两个字段集合:一个是一个字制,有两个字段("作者" [分类学]和"位置" [文本];例如"ndrew rininsland,生产编辑器" ),另一个是图像,有三个字段加上...

2  如何备份我的Drupal网站?  ( How can i back up my drupal site ) 
我的网站前几天崩溃了,我想知道是否有人能告诉我如何备份我的网站,这样如果曾经出现问题,我仍然可以拥有我的网站的工作副本。 ...

3  如何将长文本字段中的字符/单词的数量限制为3000?  ( How can i limit the number of chars words in a long text field to 3000 ) 
我想限制我的用户可以在文本字段中输入的文本量。我希望它成为一个文本区域,所以我制作了一个名为"解决方案" 的字段,然后我使它成为"长文本" 和一个小部件类型的"文本区域" 。我想限制用户可以发布到3000个字符的字符数。有没有简单的方法来做这件事? ...

2  列出日期范围内的节点  ( List nodes within a date range ) 
我正在寻找一个在日期范围内显示节点列表的解决方案。要求是从今天到期6天的展示活动。我有一个内容类型"agenda" ,启用日期字段。所以显示屏应该如: 2012年1月2日 - 上午8:00 AM议程A - 9:00 AM议程B 2012年1月3日 - 上...




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


Licensed under cc by-sa 3.0 with attribution required.