🙌
Omeka S GoogleAnalyticsモジュールの不具合対応
概要
Omeka Sにおいて、Google Analyticsを有効するにするためのモジュールとして、Google Analyticsがあります。
本モジュールを有効化した際、以下のエラーメッセージが表示されるケースがありました。
Undefined index: additional_snippet in (...) /modules/GoogleAnalytics/Module.php on line 316
これについて、以下のIssueも上がっていました。
本件の対応方法について共有します。
対応方法
以下のように変更します。
具体的には、以下です。
変更前
/modules/GoogleAnalytics/Module.php
if (empty($extra_snippet)) {
$settings = $this->getServiceLocator()->get('Omeka\Settings');
$settings = $settings->get('googleanalytics', '');
if ($settings != null)
$extra_snippet = $settings['additional_snippet'];
}
if (empty($extra_snippet)) {
$settings = $this->getServiceLocator()->get('Omeka\Settings');
$settings = $settings->get('googleanalytics', '');
if ($settings != null)
$extra_snippet = $settings['additional_snippet'];
}
変更後
/modules/GoogleAnalytics/Module.php
if (empty($extra_snippet)) {
$settings = $this->getServiceLocator()->get('Omeka\Settings');
$settings = $settings->get('googleanalytics', '');
if ($settings != null)
// Assuming this is part of the code where you handle the extra snippet
if (isset($settings['additional_snippet']) && !empty($settings['additional_snippet'])) {
$extra_snippet = $settings['additional_snippet'];
} else {
$extra_snippet = ''; // Default value if 'additional_snippet' key is not set
}
}
if (empty($extra_snippet)) {
$settings = $this->getServiceLocator()->get('Omeka\Settings');
$settings = $settings->get('googleanalytics', '');
if ($settings != null)
// Assuming this is part of the code where you handle the extra snippet
if (isset($settings['additional_snippet']) && !empty($settings['additional_snippet'])) {
$extra_snippet = $settings['additional_snippet'];
} else {
$extra_snippet = ''; // Default value if 'additional_snippet' key is not set
}
}
まとめ
上記の変更が完全に正しいか自信はありませんが、プルリクエストも出しておきました。
参考になりましたら幸いです。
Discussion