我正在尝试将社交媒体图标添加到我的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,
答案 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.'));
}
}