从hook_preprocess_menu()中访问翻译和语言URL -- theming 领域 和 8 领域 和 hooks 领域 和 i18n-l10n 领域 drupal 相关 的问题

Accessing translation and language URL from hook_preprocess_menu()


0
vote

问题

中文

我在drupal8中有设置语言和翻译,影响我的URL

  myurl.com/ru myurl.com/us myurl.com/fr   

如果查找正在访问的国家/地区,我需要做什么,所以我可以将变量添加到枝条主题层

这是工作正常的钩子

  /**  * Implements hook_preprocess_HOOK() for menu.html.twig.  */ function pnc_preprocess_menu(&$variables) {     $code_to_access_language_url = 'this is a test';     kint($variables);     $variables['access_translation'] = $code_to_access_language_url;     //print $code_to_access_language_url;exit; }   

我发现在kint()下有很多公共方法进行翻译,但我不确定如何访问它们或访问它们。我知道我可以正方形网址,但必须有一种清洁的方法来做到这一点?

英文原文

I have setup language and translation in Drupal8 that affects my URL for example

myurl.com/ru myurl.com/us myurl.com/fr 

What I need to do if find out which country is being accessed so I can add a variable to the twig theme layer

This is the hook that is working fine

/**  * Implements hook_preprocess_HOOK() for menu.html.twig.  */ function pnc_preprocess_menu(&$variables) {     $code_to_access_language_url = 'this is a test';     kint($variables);     $variables['access_translation'] = $code_to_access_language_url;     //print $code_to_access_language_url;exit; } 

I have found that under kint() there a lot of public methods for translation but I am not sure how I access them or which one to access. I know I could regex the url, but there has to be a cleaner way to do it?

           
 
 

回答列表

0
 
vote

我自己找到了答案。

  if($variables['menu_name'] == 'navigation') {        $langcode = Drupal::languageManager()->getCurrentLanguage()->getName();   // Add the logic here. }   
 

I found the answer myself.

if($variables['menu_name'] == 'navigation') {        $langcode = \Drupal::languageManager()->getCurrentLanguage()->getName();   // Add the logic here. } 
 
 

相关问题

0  如何覆盖词汇模板,但仅在特定内容类型上  ( How do i override the vocabulary template but only on a specific content type ) 
我有一个名为"扇区" 的词汇和一个名为"新闻" 的内容类型。基本上,VOCAB显示哪个扇区博客文章与关于该扇区的相应CMS页面相关的和链接。 如何自定义模板,显示该内容类型的页面上的词汇表? 非常感谢。 ...

7  如果我删除'page.tpl.php文件'会发生什么?此文件是否有替代方案?  ( What will happen if i delete page tpl php file is there any alternative for t ) 
i删除了我当前主题的page.tpl.php文件,并注意到所有内容仍然在我的drupal站点中呈现,结构略有不同。这个文件的真正使用是什么?我们可以对此文件有任何替代或替代品吗? ...

1  无法加载我的模板文件  ( Cant load my template file ) 
我的 human.tpl.php 文件位于 /tpl 文件夹中。我试图使用 hook_theme 从模块: function human_theme($existing, $type, $theme, $path){ return array( $item['human'] = a...

2  如何在树枝中注册新的PHP功能?  ( How to register a new php function in twig ) 
我正在尝试用树枝创建一个主题。如果我想注册一个新的PHP函数,我应该实现"hook_twig_function()" 作为模块解释。 我的简单问题是:我应该在哪里实现我的功能?如果我写代码 - 像往常一样 - 在我的"template.php" 中,我有这个警报:"未知" my_module_coolfunction...

0  文件/站点/默认/文件/给出404错误  ( File in sites default files gives 404 error ) 
我的页面试图加载此文件/ ssites/default/files/languages/it_et3nqjm4afzyhensm9oq5ylzkaw2exqc8pqteyrxxdu.js,但它给出了404错误。 此错误正在使用错误消息垃圾签发日志页面。如果我检查FTP,则文件存在,但如果我尝试从它的URL加载它,则为...

1  将{{pager}}显示为twig文件  ( Display pager to twig file ) 
我有点新司令8,所以不要判断很难...... 我已经为drupal制作了模板,这是普通的html,css和js ......只要Drupal文档说明他的info.yml,libries.yml和etc文件,它就在普通的html,css和js ......这一切都可以正常.. 。 我有一个页面 - front.ht...

1  CSS注射器文件在哪里存储在服务器上?  ( Where are css injector files stored on the server ) 
我正在使用这个模块: https://www.drupal.org/project/css_injector 在后退中,文件显示在此路径上: public://css_injector/css_injector_20.css 但在ftp中,我看看public.html,我找不到主题 它们在这里不是:...

0  如何在Page.tpl.php文件中覆盖主题()部分?  ( How to override theme part in page tpl php file ) 
这个问题是这个问题的扩展:当前用户名标题为辅助菜单标题,但它是不同的。 我想如何覆盖代码 99887661 中的以下部分,其中 page.tpl.php 例如,如果我想将 text => t('Secondary menu') 更改为 text => t('Any new text') 。 一种方法来做这...

1  HTML包装器未添加到视图行  ( Html wrapper not added to views row ) 
在Drupal8站点中,我有显示博客内容创建了一个枝条文件的视图,并用一些HTML标记包裹以主题博客页面。考虑一页我有10个内容。在Twig中的某些内容/行HTML包装器的特定间隔不添加,所以特定内容设计中断。我找不到这个问题的原因。请帮助解决。 注意:启用rannish缓存。 实际内容。 <div cl...

1  如何在Twig字段中获取文件实体的原始文件名?  ( How do i get at the raw file name of a file entity in a twig field override ) 
这是我在树枝开发的第一次努力,所以请忍受我。我有一个vanilla drupal 8.1站点,内容类型只包含正文和名为field_fichier_svg的文件类型字段。这将包含SVG文件(惊喜!),我想覆盖枝条字段渲染,以便我可以获得RAW文件名并包裹它周围的"IMG" HTML标记。 我已成功安装kint,并使用一...

3  “初始菜单级别”配置为块布局不起作用  ( Initial menu level config in block layout not working ) 
使用drupal 8 ... 目标 标题中有2个区域。顶部区域持有级别1 菜单链接,而底部区域容纳 level 2 菜单链接(或顶部区域的子链接)。 我想要的是我是谁?和关于只显示在顶部区域。这很容易,初始菜单级别为1 和 max的菜单级别,显示为1 。这很棒。 问题 问题出现在我在底部区域添加相同...

3  查找页面的正确枝条文件  ( Finding correct twig file for page ) 
请考虑,我已经为内容类型和文章viz的内容类型创建了两页。最新活动和最新文章。我已经看到了显示这些内容的网格结构。但是,如果我修改 /** * Implements hook_operations_menu() */ function implementing_operations_menu() { $links...

1  Drupal 8,使用自定义模板枝条的自定义表单定义的变量  ( Drupal 8 use variable defined from custom form in custom template twig ) 
我创建了一种自定义表单,自定义枝形模板,我会用主题挂钩链接'。 从窗体类的BuildForm方法中,我定义了这样的变量: public function buildForm(array $form, FormStateInterface $form_state) { $form['#foo'] = arra...

0  如何在另一个库中添加库作为依赖项?  ( How to add a library as a dependencies in another library ) 
我正在构建 d3 图书馆可视化数据。可视化要求 topojson JavaScript库以操纵地理形状。 我希望将 topojson javascript库作为自定义库中的依赖关系,现在我只是在 .info 文件中为每个库中的文件: files[js][] = 'js/topojson.v0.min.js...

1  响应电网视图布局  ( Responsive grid in view layout ) 
我认为这是一个简单的问题,但我只是无法解决它。 我使用响应网格类型,以显示一个名为"诊所信息" 的内容类型,它是。 我想要一排只有两个诊所,五星级在信息(图片,电话号码......)旁边,不在下面,我怎么能做到? (图片,姓名,地址,电话号码,五星是网格中的一个内容中的诊所信息) ...

4  如何在树枝中获取语言特定路径?  ( How to get language specific path in twig ) 
在Twig模板中,您可以使用 {{ path('entity.node.edit_form', {'node': nid }) }} 获取相对路径。路径将处于当前语言。 现在我需要以规范语言获取路径。我以为我可以使用 {{ path('entity.node.edit_form', {'node': nid }, {...

2  访问页面时将基本页重定向到外部URL  ( Redirect basic page to external url when visiting page ) 
我试图向用户提供一个字段,使它们能够输入外部URL。如果他们输入一个URL,我希望该基本页面重定向到用户提供的URL而不是实际打开节点。我通过在我的自定义中的文件中使用预处理节点钩子进行了一些尝试。在此处看到的: function mytheme_preprocess_node(&$variables){ ...

0  如何在自定义块的字段值基础上动态分配枝枝模板?  ( How to assign twig templates dynamically on basis of field value of custom block ) 
我在我的自定义块中有一个列表框,具有不同的主题选项。根据列表框字段值,我想动态地分配特定的枝条模板。做到最好的方法是什么?如果可能,请为同一个代码段提供代码片段。 ...

1  如何从7x-5x到7x-6x更新zen?  ( How to update zen from 7x 5x to 7x 6x ) 
我正在尝试在ZEN 7.56开发的Zen Subtheme上进行CSS更新。由于一些罗盘依赖关系之间,我难以让指南针在我的开发机器上运行。我想搬到Zen 7.6,以便能够使用Libsass和Gulp。所以,我有以下问题: 1)主题是使用指南针和罗盘汇聚赛开发的,我可以使用旧的SCSS文件吗?或者我必须识别和更新SCS...

1  如何在模板文件中呈现一些条件?  ( How to render in template file with some conditions ) 
我想使用渲染功能,但我不想显示特定字段中存在的所有数据。那么如何限制在模板文件中渲染的东西。场景是: 我将一个字段引用到另一个Contentype,我正在呈现模板文件中的字段。但问题是虽然没有发布引用的节点,但数据在呈现的字段中显示。那么我如何限制像节点发布的那样,然后只想显示该数据。 一个人越来越多的是,如果它是完...




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


Licensed under cc by-sa 3.0 with attribution required.