我正在使用实体浏览器上传图像和响应式图像样式来显示它们.
我发现创建节点并添加图像后,新用户第一次访问该页面时,图像将不会显示.然后刷新页面将显示图像.
我已尝试使用和不使用itok变量,结果相同.
我尝试使用响应式图像样式和普通图像样式,并使用相同的结果.
首次在后端上传图像时,缩略图不会显示.
图像正确上传,并在文件夹中.
在第一页加载时,正在创建图像样式,我可以在样式文件夹中看到它,它在Windows中打开很好,但如果我查看图像样式URL(.../styles/stylename/public/folder/image .jpg)有一条消息说'图像无法显示,因为它包含错误'.如果我对此做了很多努力,图像会显示出来,然后返回并刷新页面,图像就在那里.
它似乎是浏览器第一次尝试从缓存加载图像并且它不存在,因此URL被破坏.
如果有其他人遇到过这个问题,我很乐意听到.尝试过我能想到的一切.
我目前正在尝试在我的 Drupal 8 模块中使用 AJAX(使用 jQuery),以便在用户在文本字段中键入内容时重新加载页面。我设法恢复了一个完整的 HTML 页面,但我希望 AJAX 函数只获取页面的内容(没有整个布局)。
我怎样才能做到这一点?为了在请求使用 AJAX 时呈现不同的视图,我应该在我的控制器函数中更改什么?
我在 Google 和 Drupal 8 文档上进行了搜索,但没有找到我的问题的任何答案。
在此先感谢您的帮助!
无法理解子模块
它们似乎不必要地复杂。通常我完全避免它们,但一个项目迫使我陷入这种情况
所以...
我在我们的开发服务器上有一个带有子模块的 git repo
/myproject
          /.git
          /files ...
          /other
               /submodule
                         /.git
现在因为我们运行一个开发/生产环境,我们可以做的事情非常有限
我如何能
我们传统上使用获取然后合并策略而不是单个拉取。由于团队规模很小,我们也不使用裸仓库。
我尝试了多种不同的方法来实现上述目标,但似乎都不对。似乎涉及很多步骤,所以我一定是做错了什么。
此外,我不希望从子模块远程存储库中获取到 prod 服务器的获取。
只是让您知道我正在从事的项目是一个 drupal 8 项目,在生产中进行开发是完全不合适的,我们甚至不安装 composer 或 drush。
我有一个编辑节点表单。当用户输入新值并单击提交来编辑节点时,我首先想取回旧节点,操作该值,然后保存/更新节点。
以下是我的解决方案,但它不起作用。
function custom_module_form_node_form_alter(&$form, FormStateInterface $form_state) {
    $editing_entity = $form_state->getFormObject()->getEntity();
    if (!$editing_entity->isNew()) {
        $form['actions']['submit']['#submit'][] = 'custom_module_node_form_submit';
    }
}
function custom_module_node_form_submit($form, FormStateInterface $form_state) {
   $editing_entity = $form_state->getFormObject()->getEntity();
   $entity = Drupal::entityTypeManager()->getStorage('node')->load($editing_entity->id());
}
在 form_submit 钩子中,我尝试取回旧节点,但已经太晚了,节点已经更新/保存。在 Drupal 8 中更新/保存节点之前,如何取回旧节点并操作该值?
我在删除 Drupal 8 上的文件时遇到问题。如何删除任何类型的文件,例如在我的情况下是图片文件(jpg、png 等...)。在 Drupal 7 中,您可以在右侧选择删除文件,但 Drupal 8 没有该选项......仅适用于已发布的页面。如果您不再需要文件,是否有机会出于任何原因删除文件,无需任何复杂的任务?
PS:我是一个初学者 Drupal 用户!谢谢
我正在执行我的 behat 脚本并收到以下异常:
/vendor/dmore/chrome-mink-driver/src/DevToolsConnection.php 中的 DMore\ChromeDriver\StreamReadException
我在本地和 Acquia 管道中遇到以下异常。奇怪的是,此异常并非每次都出现,而是每次出现在不同的步骤定义中。
@smoke
Feature: Test SEARCH box
  @javascript @api @errors
  Scenario: Test For the SEARCH box                                                                                     
    Given I am on "/"
                                                                                                   # Drupal\DrupalExtension\Context\MinkContext::visit()
DMore\ChromeDriver\StreamReadException in /<project_folder>/vendor/dmore/chrome-mink-driver/src/DevToolsConnection.php
我有以下路线
my_module.order_details:
    path: '/account/orders/{orderId}'
在 Drupal 8 中有什么方法可以翻译这条路由路径吗?
对于所有其他路由,我一直在使用我需要翻译的语言添加一个 url 别名。但是,因为它的参数 {orderId} 似乎不起作用,我找不到方法将通配符添加到 url 别名中。(我认为这可以解决我的问题)
我知道我可能会为每个 orderId 创建一个翻译的 url 别名,但如果可能的话,我想避免这种情况。
谢谢
更新:
我刚刚找到了一些更多信息。看来在 Chrome 中,图像的 currentSrc 通常是空的,而在 Firefox 中,URL 总是正确的。JS 是否在 currentSrc 可用之前尝试访问它?有办法防止这种情况吗?
我正在创建一个 Drupal 8 网站,为了将响应式图像模块与背景图像一起使用,我想出了以下解决方法。下面的 JS 函数 setParallaxImage() 从图片元素中的 img 中获取 currentSrc,并将其设置为最外层 div 的背景图像。img 本身不显示(CSS 中的 display: none),并给出一个虚拟图像,因为我只需要它来获取 currentSrc。该函数通过 onload 和 onresize 调用。
该代码似乎在 Firefox 中运行良好。当调整浏览器大小超过断点时,图像会瞬间变成灰色,然后从正确的源加载图像。然而,对于 Chrome,当快速调整大小超过断点时,图像可能会变成灰色并且根本不显示,即,background-image: url()。通常,如果我再调整窗口大小几次,图像最终就会出现。有谁知道为什么会发生这种情况?感谢您的阅读。
JS
function setParallaxImage() {
    const parallaxContainer = document.getElementsByClassName('paragraph--type--parallax-banner-with-text');
    for(var i = 0; i < parallaxContainer.length; i++) {
      console.log('in setparallax');
      var x = parallaxContainer[i];
      var parallax = x.getElementsByClassName('field--name-field-parallax-image-top-')[0];
      var picture = parallax.getElementsByTagName("picture")[0];
      var sourceURL = picture.querySelector('img').currentSrc;
      x.setAttribute('style', 'background-image: url(' + sourceURL +')'); …javascript google-chrome drupal-8 picture-element responsive-images
我生成了标志链接
  $flag_link = [
  '#lazy_builder' => ['flag.link_builder:build', [
    $product->getEntityTypeId(),
    $product->id(),
    'product_like',
  ]],
   '#create_placeholder' => TRUE,
];
标志链接生成成功。但是当我点击标志链接时,我收到了错误消息作为响应
Run Code Online (Sandbox Code Playgroud){message: "'csrf_token' URL query argument is invalid."} message: "'csrf_token' URL query argument is invalid."