【问题标题】:Drupal 8 - Absolute url in contentDrupal 8 - 内容中的绝对网址
【发布时间】:2018-01-10 22:05:39
【问题描述】:

我正在将我的网站从开发环境迁移到生产环境,因此用户在 CkEditor、内容或字段中输入的绝对路径 url 在域上不起作用。

我能做什么? 数据库可能很大,所以我正在寻找其他东西,而不是在 40 mo sql 文件中搜索和替换。

我在使用 mysql 的 Drupal 8

【问题讨论】:

  • 解决该问题的最佳方法是构建您自己的 sql 脚本来定位您想要的每个字段。很简单,也不长。

标签: sql database drupal migration drupal-8


【解决方案1】:

您可以简单地找到 db 中的哪些表/字段包含您要替换的绝对 URL。然后在mysql中替换它。这是一个例子:

$fields_to_update = [
    ['table' => 'field_data_body', 'field' => 'body_value'],
    ['table' => 'field_data_body', 'field' => 'body_summary'],
    ['table' => 'field_data_field_account_notes', 'field' => 'field_account_notes_value'],
    ['table' => 'field_data_field_extra_text', 'field' => 'field_extra_text_value'],
  ];

  foreach ($fields_to_update as $item) {

    $table = $item['table'];
    $field = $item['field'];

    db_query("UPDATE {$table} SET $field = REPLACE($field, 'http://www.example.com/', :new_name) WHERE $field LIKE BINARY '%http://www.example.com/%'", array(':new_name' => '/'));

  }

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2010-10-28
    • 2023-03-19
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 2018-12-10
    相关资源
    最近更新 更多