实际上,我知道如何创建一个directory = mkdir.
但是,我需要在服务器中传递一个完整的绝对路径,我不知道如何在hook_install中获取相关路径.
我尝试使用base_path(),但它返回'/'.
我想要的路径是sites/default/files(在我创建目录的"files"里面).
谢谢.
我创建了一个钩子,以便将项目添加到管理员的菜单中.当用户点击该项目时,我想返回我创建的特定视图的内容.我应该如何返回视图?
我目前的代码如下:
function my_view_menu(){
$items['view'] = array(
'title' => 'Report',
'page callback' => 'return_my_view',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function return_my_view(){
return t("Hello!");
}
Run Code Online (Sandbox Code Playgroud)
编辑:
正如Berdir所建议的,这是调用视图的正确方法:
function return_my_view(){
$viewName = 'my_report'; // use the machine readable name of the view
return views_embed_view($viewName);
}
Run Code Online (Sandbox Code Playgroud) 所以这是我的形式:
$active = array(0 => t('Poster'), 1 => t('Postcard'), 2=>t('Post it'));
$form['radioimage']['active'] = array(
'#type' => 'radios',
'#default_value' => isset($node->active) ? $node->active : 1,
'#options' => $active,
);
Run Code Online (Sandbox Code Playgroud)
我想知道选择了哪个单选按钮.我试图访问数据,但我不知道它叫什么我甚至不能使用devel由于某种原因.
我在下面试过,但都失败了
$form_state['values']['radioimage']['active'][0]
$form_state['values']['radioimage']['active']
Run Code Online (Sandbox Code Playgroud) 我创建了一个定义新文本格式过滤器的模块.
现在我想直接从模块php使用这个新的过滤器定义文本格式.Drupal管理员可以从admin/config/content/formats/add管理页面手动执行此操作,但我想避免这一步骤.我需要添加my_dmodule.module什么?
我正在使用Drupal 8构建自定义模块.该模块的一个要求是它根据配置设置设置javascript文件,模块用户在模块配置中设置.
需要添加到页面的javascript取决于配置设置.因此,我无法使用本文中提到的库添加它:向Drupal模块添加资源.
我首先用块实现它.我使用Twig模板将PHP中的配置变量传递给twig文件,在twig文件中,我有一个标签可以根据配置变量添加javascript.请参阅使用树枝模板.
这种方法的问题是用户需要在页面上添加块,并且该块上没有面向UI的元素.我也觉得很乱.
有没有更简洁的方法来添加我的javascript使用钩子并传递变量?我环顾四周,发现了hook_install和hook_page_attachments.所以我可以添加Javascript,但不知道如何将任何php变量传递给它.
我是Drupal开发的新手.任何帮助都非常感谢.
TL; DR我需要找到一种方法来使用Drupal钩子添加Javascript并将一些PHP变量传递给它.
“网站遇到意外错误。请稍后再试。” 当我去清除 D8 中的缓存时,没有进一步的细节。我之前在另一个 drupal 站点上遇到过类似的问题,根据我的经验,“意外错误”似乎是 Drupal 给出的一般错误消息,而可能会有更详细的消息。
因此,为了进一步调查我$config['system.logging']['error_level'] = 'verbose';在 settings.php 中启用日志记录的问题 。
刷新网站后产生以下内容:
The website encountered an unexpected error. Please try again later.</br></br><em class="placeholder">Drupal\Core\Extension\InfoParserException</em>: Missing required keys (core) in modules/contrib/redirect/modules/redirect_404/redirect_404.info.yml in <em class="placeholder">Drupal\Core\Extension InfoParserDynamic->parse()</em> (line <em class="placeholder">29</em> of <em class="placeholder">core/lib/Drupal/Core/Extension/InfoParserDynamic.php</em>). <pre class="backtrace">Drupal\Core\Extension\InfoParser->parse('modules/contrib/redirect/modules/redirect_404/redirect_404.info.yml') (Line: 552)
我知道有时会在不清除 Drupal 缓存时出现问题。因此,由于 UI 不可用,我尝试通过截断缓存表来通过数据库刷新所有缓存。还运行了 composer install; 作曲家更新但无济于事。
我将不胜感激有关如何解决手头问题的任何解决方案。
谢谢
drupal 6 web表单模块允许用户指定"到"电子邮件地址.但是我如何以编程方式更改"到"电子邮件地址.
例如:我在drupal 6系统中有一些节点,每个节点都有一个电子邮件地址,当一个人访问该节点(页面)时,programm将该节点的电子邮件地址放在一个会话变量中,然后当该人点击该链接时节点,该链接将显示一个Web表单.
此时,当用户点击提交按钮时,我希望网络表单向节点的电子邮件地址发送电子邮件(保存在会话变量中的电子邮件地址).
谢谢.
我问,因为它对于一个真名问题很重要,它让我想到如何避免这种冲突.
我正在尝试创建一个简单的模块来预览Drupal中的主题.每个用户都有自己的自定义节点,我希望能够向他们展示主题如何在没有实际启用的情况下工作的预览.现在这就是我所拥有的:
function theme_preview_info($new_theme, $node_id)
{
global $custom_theme;
$custom_theme = $new_theme;
$node = node_load($node_id);
return $node->body;
}
Run Code Online (Sandbox Code Playgroud)
它将显示节点的内容,但格式化全部搞砸了.如何正确地显示节点,就像我转到node/1一样,而是在theme_preview/theme_name/1中查看它?
我正在尝试在Drupal站点上创建滚动图像列表.与本页底部的类似.这是Drupal的ImageCache Action的一个特性吗?如果没有,我将如何做到这一点是Drupal?
drupal-modules ×10
drupal ×9
drupal-7 ×3
drupal-6 ×2
drupal-8 ×2
drupal-hooks ×2
hook ×2
php ×2
drupal-fapi ×1
drupal-views ×1
image ×1