尝试将社交媒体链接添加到Drupal网站

时间:2019-09-02 21:15:05

标签: drupal drupal-8

我正在尝试将社交媒体图标添加到我的drupal网站,并按照this guide进行尝试并安装它们。该模块似乎安装得很好,但是当我尝试对其进行配置以在单击“保存”时添加其他链接时,该模块将我带到一个简单说The website encountered an unexpected error. Please try again later.

的网页

我尝试卸载/重新安装插件,但似乎没有任何作用。我的设置中缺少某些权限吗?我几乎是drupal的新手

编辑:错误的网址为admin/structure/block/manage/socialmedialinks?destination=/node
和一些错误日志:

TypeError: Argument 2 passed to Egulias\EmailValidator\EmailValidator::isValid() must implement interface Egulias\EmailValidator\Validation\EmailValidation, bool given,

1 个答案:

答案 0 :(得分:1)

当检查电子邮件地址的有效性时,social_media_links drupal模块版本8.x-2.6似乎有一个错误。
HERE在模块的发布队列中存在一个问题。
该问题有一个修补程序(如下所示):

diff --git a/src/Plugin/SocialMediaLinks/Platform/Email.php b/src/Plugin/SocialMediaLinks/Platform/Email.php
index 007e59f..2926d47 100755
--- a/src/Plugin/SocialMediaLinks/Platform/Email.php
+++ b/src/Plugin/SocialMediaLinks/Platform/Email.php
@@ -4,7 +4,6 @@ namespace Drupal\social_media_links\Plugin\SocialMediaLinks\Platform;

 use Drupal\social_media_links\PlatformBase;
 use Drupal\Core\Form\FormStateInterface;
-use Egulias\EmailValidator\EmailValidator;
 use Drupal\Core\Url;

 /**
@@ -29,9 +28,9 @@ class Email extends PlatformBase {
    */
   public static function validateValue(array &$element, FormStateInterface $form_state, array $form) {
     if (!empty($element['#value'])) {
-      $validator = new EmailValidator();
+      $validator = \Drupal::service('email.validator');

-      if (!$validator->isValid($element['#value'], TRUE)) {
+      if (!$validator->isValid($element['#value'])) {
         $form_state->setError($element, t('The entered email address is not valid.'));
       }
     }