我正在运行drupal 8,composer和npm来执行gulp任务.
当我运行npm start ..我的任务管理器:我得到以下堆栈跟踪:
Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'Unknown "render" filter.' in /web/project/web/themes/emulsify/components/_patterns/04-templates/basic-page/_basic_page.twig:26
Stack trace:
#0 /web/project/web/themes/emulsify/pattern-lab/vendor/twig/twig/lib/Twig/ExpressionParser.php(481): Twig_ExpressionParser->getFilterNodeClass('render', 26)
#1 /web/project/web/themes/project_theme/pattern-lab/vendor/twig/twig/lib/Twig/ExpressionParser.php(466): Twig_ExpressionParser->parseFilterExpressionRaw(Object(Twig_Node_Expression_Name))
#2 /web/project/web/themes/project_theme/pattern-lab/vendor/twig/twig/lib/Twig/ExpressionParser.php(320): Twig_ExpressionParser->parseFilterExpression(Object(Twig_Node_Expression_Name))
#3 /web/project/web/themes/project_theme/pattern-lab/vendor/twig/twig/lib/Twig/ExpressionParser.php(212): Twig_ExpressionParser->parsePostfixExpression(Object(Twig_Node_Expression_Name))
#4 /web/project in /web/project/web/themes/project_theme/components/_patterns/04-templates/basic-page/_basic_page.twig on line 26
Run Code Online (Sandbox Code Playgroud)
我看过通过composer安装twig-bridge/symfony twig,但我似乎无法摆脱错误信息.
我是否只是使用枝条过滤器"渲染"?
更新:17/08/17
在尝试使用Drupal 8的twig_tweak模块提供的drupal_block函数时,我也遇到了同样的问题.
在drupal 7中,我使用函数image_style_url('style', uri)生成带有样式的新图像并返回图像的路径.那么在drupal 8中会有什么而不是它呢?谢谢
我需要在模块中抛出404错误.或者可能是否有可能为菜单挂钩设置所需的选项?
我正在检查Drupal 8并尝试根据文章的节点ID生成链接.在Drupal 7中它是这样的:
$options = array('absolute' => TRUE);
$nid = 1; // Node ID
$url = url('node/' . $nid, $options);
Run Code Online (Sandbox Code Playgroud)
这导致与正确的url-alias的绝对链接.
所以url() - 函数似乎已被弃用; 什么是Drupal-8方式?对我来说看起来像一个非常基本的功能,但我找不到任何有用的参考.
我试图检索URL和标题一个值链接字段中的Drupal 8.
在我的自定义控制器中,我检索节点:
$storage = \Drupal::entityManager()->getStorage('node');
$nids = $storage->getQuery()
->condition('type', 'partners')
->condition('status', 1)
->execute();
$partners = $storage->loadMultiple($nids);
Run Code Online (Sandbox Code Playgroud)
当我循环遍历所有节点时,为了预处理变量,我将提供给我的视图,我想检索URL和标题.
foreach ($partners as $key => $partner) {
$variables['partners'][] = array(
'image' => $partner->field_logo->entity->url(),
'url' => $partner->field_link->value, // Can't retrieve values of link field
);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有找到如何检索URL和标题的FIELD_LINK.
谢谢你的帮助.
我想用drush.它需要在drupal容器中运行.还有一个潜水码头回购.但我不知道如何在drupal容器中使它可用.这是我的第一个docker和drupal项目,所以也许我的事情完全错了.
如何使用这个drupal docker图像进行drush? https://hub.docker.com/_/drupal/ 是否可以使用docker-compose进行管理?也许扩展drupal容器?
这是我的docker-compose.yml:
mysql:
image: mysql:5.5
ports:
- "3306:3306"
environment:
- MYSQL_USER=xxxxx
- MYSQL_PASSWORD=xxxxxx
- MYSQL_ROOT_PASSWORD=xxxxxx
- MYSQL_DATABASE=xxxxxx
drupal:
image: drupal:8.0.4
links:
- mysql
ports:
- "8080:80"
Run Code Online (Sandbox Code Playgroud) 重要说明 在正常项目中实例化Cesium对象时,它没有任何以下划线为前缀的属性(_dataSourceCollection,_dataSourceDisplay等).但是,在Drupal中实例化时,除了常用属性外,还在对象上设置了大约40-45个属性(所有属性都带有下划线).这发生在Drupal 7或8中,虽然我不确定这是否与我遇到的问题有关,但这是一个明显的差异因此我认为它应该被分享.
我已将Cesium库添加到Drupal项目中,方法是将文件放在sites/all/libraries/cesium/Cesium.js以及Assets和Widgets文件夹中,然后在自定义模块中调用hook_library_info
function cesium_library_info() {
$libraries['cesium'] = array(
'files' => array(
'js' => 'Cesium.js',
),
'path' => 'js',
'library path' => libraries_get_path('cesium'),
'version' => '1'
);
return $libraries;
}
Run Code Online (Sandbox Code Playgroud)
然后我使用hook_menu返回以下页面回调:
function cesium_page() {
drupal_add_js(libraries_get_path('cesium') . '/Cesium.js');
drupal_add_js(drupal_get_path('module', 'cesium') . '/js/mCesium.js');
drupal_add_css(libraries_get_path('cesium') . '/Widgets/widgets.css');
$page = array();
$page['ces-container'] = array(
'#prefix' => '<div id="myApp-cesium">',
'#suffix' => '</div>',
'#markup' => '<h1>Welcome to Cesium!',
);
return $page;
}
Run Code Online (Sandbox Code Playgroud)
mCesium.js包含从Drupal.behaviors中调用Cesium的代码,用于将Viewer附加到我的#myApp-cesium元素.
Drupal.behaviors.cesium = {
attach: function (context, settings) {
var viewer = new …Run Code Online (Sandbox Code Playgroud) 我需要删除Drupal 8中相同类型的所有节点(节点超过7k).
这对Drupal 7来说不是问题(DB query + node_delete或node_delete_multiple会解决我的问题).但是,D8略有不同:)
请,建议,我该怎么做.提前致谢!
我正在尝试使用我在drupal 8主题中创建的图像样式打印图像.
我可以通过{{content.banner}}在模板中打印图像,但如何将图像样式应用于该图像?我试着找文件,但似乎没有任何东西.
Drupal \node\Entity\Node Object([in_preview] => [values:protected] => Array([vid] => Array([x-default] => 1)
[langcode] => Array
(
[x-default] => en
)
[field_destination] => Array
(
[x-default] => Array
(
[0] => Array
(
[target_id] => 2
)
)
)
Run Code Online (Sandbox Code Playgroud)
无法直接获取field_destination值.它是与内容类型相关的分类术语.任何帮助appriciated.