トラブルシューティング

ここではよくある質問や、つまずきやすいポイントなどをQ&A方式でお答えします。

通常画面は表示されるのにセットアップ、メンテナンス画面が表示されない

セットアップ、メンテナンス画面の時だけioncube loaderが動いていない可能性があります。ドキュメントルートにphp.iniを置くようなレンタルサーバーに多いです。この場合、php.iniをsetupディレクトリにコピーしてお試しください。

PHPのバージョンアップをしたら、表示されなくなった

ioncube loaderがうまく動いていない可能性があります。PHPのバージョンにあったioncube loaderをご利用ください。また、ioncube loader自体のバージョンが古い可能性もあります。動作条件にあったバージョンをご利用ください。それでも改善しない場合は、license.phpが古い可能性もあります。マイページより再ダウンロード(再生成されます)してお試しください。

ログインできない

config.server.php の DOMAIN があっていない可能性があります。

画像がアップロードできない

archives, arcihves_dir, media ディレクトリ(内部ディレクトリ含め)のパーミッションをWebサーバが書き込めるようにご確認ください。それでもダメな場合は、画像エンジンを切り替えてみます。画像エンジンは GD と ImageMagick があり、ImageMagick が使える場合は、デフォルトでImageMagickになります。以下のコードを private/config.system.yaml に追記することにより、GDを使うようになります。

image_magick : off

キャッシュ設置をONにしたのにキャッシュが効かない

config.server.php の DEBUG_MODE が ON(1)になっている可能性があります。OFF(0)に設定してお試しください。

アップロードできないファイルがある

セキュリティ対策で、アップロードできるファイルを制限しています。アップロードしたいファイルの拡張子を追加するには、管理ページ > コンフィグ > 編集設定 の アップロード許可ファイル拡張子 に追加ください。

ユニット数が多いと画像やユニット自体が表示されないものがでてくる

サーバーの設定で制限されている可能性があります。以下の項目をチェックしてみてください。また現在の設定は、管理ページ > チェックリスト でも確認することができます。

制限



項目 説明 デフォルト アクセスレベル
upload_max_filesize 最大アップロードファイルサイズ 2M PHP_INI_PERDIR
post_max_size 最大POSTサイズ 8M PHP_INI_PERDIR
memory_limit 最大利用メモリーサイズ 128M PHP_INI_ALL
max_file_uploads アップロード出来るファイル数 20 PHP_INI_SYSTEM
max_input_vars input要素の最大数 1000 PHP_INI_PERDIR

アクセスレベル



アクセスレベル 意味
PHP_INI_USER ユーザースクリプト(ini_setなど)で設定可能なエントリ。.user.ini でも設定可能
PHP_INI_PERDIR php.ini, .htaccess, httpd.conf あるいは、 user.ini で設定可能なエントリ
PHP_INI_SYSTEM php.ini, または httpd.confで設定可能なエントリ
PHP_INI_ALL どこでも設定可能なエントリ

設定方法



ファイル 記述例
php.ini, .user.ini memory_limit = 256M
.htaccess php_value memory_limit 256M
phpファイル ini_set('memory_limit', '256M');

他の制限で引っかかっている場合もありますので、詳しくは http://php.net/manual/ja/ini.core.php をご覧ください。

Google Map が表示されない

Google Map APIのAPI Keyを設定する必要があります。未設定の場合は、地図(Google Map)ユニットのページを確認し対応を行ってください。 複数のAPIを有効にする必要があります、設定忘れがないか再度確認をしてください。

編集時のGoogle Map検索など一部機能が動作しない

Google検索APIなど他のサービスを同時に利用している場合が考えられます。編集時はGoogle検索APIが動かないようにしたり、次のようにACMS.Readyで囲み、実行のタイミングをずらしてください。 ` `

XSERVER で http表示時にリンクがhttpsに変わってしまう。

Ver. 2.7.15以下のバージョンにおいて、XSERVERの新しい環境で http表示時にリンクがhttpsに変わってしまう問題が確認されています。現象が再現する場合、以下の対応をお願いします。

1. index.php のリネーム

index.php を acms.php にリネームします。

2. index.php の作成

新たにindex.php を作成以下のコードを記述します。

<?php
    
$_SERVER['HTTPS'] = null;
require 'acms.php';

カテゴリーを保存しようとしたら「送信データが不完全です。」というエラーが出た

なんらかの原因で、form要素の閉じタグが消えてしまっている可能性が高いです。 IFブロックやタッチブロック、HTMLタグの閉じ忘れなどをご確認ください。

ロリポップレンタルサーバーでエラーが出て画像が保存できない

画像エンジンのImagickがうまく動作していない可能性があります。GDに変更してお試しください。

変更方法

private/config.system.yaml に追加

image_magick : off

jQueryの脆弱性に対応するため、標準jQueryをアップデートしました


Ver3.5 未満のjQueryでXSSの脆弱性が確認されているため、Ver. 2.8 以上のバージョンで、標準jQueryを バージョン3.5.1 に変更したバージョンをリリースいたしました。

jQuery 3.5.1 に対応した バージョン

  • Ver. 2.11.29
  • Ver. 2.10.39
  • Ver. 2.9.35
  • Ver. 2.8.70

jQueryのバージョン確認方法

ブラウザのコンソールで以下のコードを打ち込んで実行ください。jQueryのバージョンが表示されます。

jQuery.fn.jquery

jQueryのバージョン設定

CMSをアップデートすることで、標準jQueryは変更されますが、意図的にjQueryのバージョンを指定している場合がございます。 アップデートしてもjQueryのバージョンが上がっていない場合は、以下をご確認ください。

private/config.system.yaml の jquery_version でバージョンを指定していないかご確認ください。指定されている場合はコメントアウトするか、3.5.1 を指定ください。

jquery_version: x.x.x

注意点

上記の方法でも変更されない場合は、テンプレートで直接指定されたjQueryを読み込んでいる可能性がございます。その際はテンプレートをご確認ください。

意図的にjQueryのバージョンを指定している場合は、導入しているライブラリが動かないなど、なにかしらの理由によりバージョン指定している可能性があります。外部のjQueryプラグインを利用されている場合は、慎重にアップデートをご検討ください。

以上になります。 各フィックスバージョンへの更新のご検討をお願いいたします。
今後とも a-blog cms をよろしくお願いいたします。

関連エントリー機能

任意の記事に関連した情報のエントリーを表示する機能として、登録されているタグの一致数に応じて関連記事を表示するタグリレーショナル(Entry_TagRelational)というモジュールがあります。
a-blog cms Ver.2.6.0からは(Admin_Entry_Autocomplete)モジュールが追加されています。エントリーの登録・編集時に、関連するエントリーを検索し、紐付け登録をします。より柔軟な関連記事登録が可能になります。



登録されたエントリーは、ハンドルを掴んでドラッグアンドドロップすることで表示順を変更することも可能です。また、右の確認ボタンを押すことで、実際にそのエントリーのページに移動して内容を確認することもできます。



紐づけられたエントリーはテンプレートをカスタマイズすることで下の図のように表示することが可能です



関連エントリー機能の有効化・設定

この機能を使用するためにはテンプレート側のカスタマイズおよび管理画面の設定が必要になってきます。

関連エントリー機能を有効にする

関連エントリー機能を使用可能にするために、 管理画面 > 編集画面 > 編集設定 より下の図のように 関連エントリー のチェックボックスにチェックを入れます。



関連記事グループの設定

「関連記事グループ」の機能では、関連エントリーをグルーピングすることが可能です。 この機能を使えば、1つの記事に対して複数の関連エントリーのグループを表示できます。 初期状態では、サイト全体から記事を選択することになり、1つの記事に対して1つのグループしか設定できません。



関連記事グループの設定項目

  • タイプ: グループを識別する値(英数字で入力)
  • ラベル: 編集画面でグループに表示される値
  • モジュールID: 関連記事選択UIでの選択肢を表示するためのモジュール「Admin_Entry_Autocomplete」のモジュールID名を指定します。
  • URLコンテキスト(ctx): ここで設定されたURLコンテキストで関連記事選択UIの選択肢を絞り込みます
  • 登録制限: ここで設定された数だけ関連記事を選定できます


タイプ グループを識別する値(英数字で入力)
ラベル  編集画面でグループに表示される値
モジュールID 関連記事選択UIでの選択肢を表示するためのモジュール「Admin_Entry_Autocomplete」のモジュールID名を指定します。
URLコンテキスト(ctx) 設定されたURLコンテキストで関連記事選択UIの選択肢を絞り込みます
登録制限 設定された数だけ関連記事を選定できます
上記の設定をした場合の編集画面例

設定された関連記事を表示する

エントリーに登録した関連記事を表示する方法を解説します。表示する方法は大きくわけて2つあります。

Entry_Body, Entry_Summaryの変数で出力する

1つ目の方法は、Entry_BodyやEntry_Summaryの entry:loop 内で、対応する関連記事を出力する方法です。一覧ページなどでエントリーに合わせて関連記事も表示する時に有効です。

変数の有効化

Entry_Bodyまたは、Entry_SummaryのモジュールIDの「表示設定」で「関連エントリーを表示する」にチェックをつけます。


変数表

Entry_Bodyまたは、Entry_Summaryの変数表を見ると、関連記事の出力変数がありますので、変数表をみてテンプレートに変数を記入します。

Entry_Bodyの変数表

https://developer.a-blogcms.jp/document/acms-code/vars/Entry_Body.html?cache=off

Entry_Summaryの変数表

https://developer.a-blogcms.jp/document/acms-code/vars/Entry_Summary.html


「default」タイプの関連記事の場合の例

<!-- BEGIN relatedEntry -->
  <!-- BEGIN relatedEntry.default -->
  <ul>
    <!-- BEGIN relatedEntry.default:loop -->
    <li><a href="{url}">{categoryName}: {title}</a></li>
    <!-- END relatedEntry.default:loop -->
  </ul>
  <!-- END relatedEntry.default -->
<!-- END relatedEntry -->

Entry_Summary 自体の出力内容を関連エントリーにする

2つめの方法は、Entry_Summaryモジュールの表示内容を、関連記事の内容にしてしまう方法です。詳細ページなどで、エントリーに付随する関連記事一覧を表示するのに便利です。

設定方法

まず、引数のエントリーIDにチェックをつけてEntry_SummaryのモジュールIDを作成します。


次に「表示設定」で、「関連エントリーのサマリーを表示する」にチェックをつけて、表示する関連記事グループを選択します。


モジュールIDを作成したら、Entry_Summaryのスニペットをテンプレートに記述し、作成したモジュールIDを適用します。そのエントリーで設定した関連記事を表示します。

Ver.2.11.32とVer.2.11.33リリースのお知らせ


この記事では、2021年4月2日にリリースした Ver.2.11.32とVer.2.11.33の改善・修正内容について紹介いたします。 現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 2.11.32のリリースノート

  • CMS-5605 Ogpモジュールのルートブログのタイトルがカスタムフィールドを参照しない問題を修正
  • CMS-5607 Category_Listのglueブロックが複数階層だと正しく表示できない問題を修正
  • CMS-5610 システムテーマから拡張アプリの余分なテンプレートを削除
  • CMS-5609 拡張アプリの更新処理の不具合を修正
  • CMS-5608 resizeImgをImagick対応し、Imagickでwebpを生成できるように修正
  • CMS-5611 メディアユニットのサイズ変数で、小さい画像や元画像サイズからの変化が少ない場合、指定したサイズではなく元画像のサイズが指定されてしまう問題を修正
  • CMS-5565 テキストユニットの属性入力欄で日本語入力の変換が効かない問題を修正
  • CMS-5606 多言語ユニットで、メイン言語が空のメディアユニットだと、メイン画像に設定できない問題を修正
  • CMS-5612 CSVインポートで位置情報をインポート出来るように修正

Ver. 2.11.33のリリースノート

  • CMS-5617 多言語のメディアユニットで編集画面で画像がファイルとしてプレビューされてしまう問題を修正
  • CMS-5619 フィーチャーフォンの判定IPアドレスを更新
  • CMS-5621 エントリ編集設定の「ファイル名拡張子」を空にすると、拡張子つきのエントリーコードが設定できなくなる問題を修正

主なリリースノートの詳細な内容

CMS-5605 Ogpモジュールのルートブログのタイトルがカスタムフィールドを参照しない問題を修正

ルートブログのカスタム設定でSEOのタイトルを指定したときに、子ブログを持つサイトでデフォルトの設定のまま出力される問題を修正しました。

修正前

エントリータイトル(カスタム設定 > デフォルト)|カテゴリー(カスタム設定 > デフォルト)|子ブログ(カスタム設定 > デフォルト)|ルートブログ(デフォルト >カスタム設定

修正後

エントリータイトル(カスタム設定 > デフォルト)|カテゴリー(カスタム設定 > デフォルト)|子ブログ(カスタム設定 > デフォルト)|ルートブログ(カスタム設定 > デフォルト

CMS-5608 resizeImgをImagick対応し、Imagickでwebpを生成できるように修正

Ver. 2.11.31まではresizeImgはGDのみの対応でしたが、Imagickで出力できるように修正しました。

CMS-5611 メディアユニットのサイズ変数で、小さい画像や元画像サイズからの変化が少ない場合、指定したサイズではなく元画像のサイズが指定されてしまう問題を修正

元画像が小さい場合、それに近い表示サイズを選択すると、一定条件の時に選択したサイズではなく元画像のサイズで表示される問題を修正しました。

メディアユニットは、元画像の縦横サイズを元に表示サイズを計算して出力する仕組みとなっています。 しかしVer. 2.11.31までは縦サイズの計算方法の一部に誤りがあったため、計算後の縦サイズがオリジナルサイズより大きくなってしまう場合がありました。

そこでVer. 2.11.32では、縦サイズの計算方法を見直し、小さい元画像においても縦サイズを正しく計算できるよう修正しました。

CMS-5621 エントリ編集設定の「ファイル名拡張子」を空にすると、拡張子つきのエントリーコードが設定できなくなる問題を修正

コンフィグ > 編集設定 > ファイル名拡張子 を空欄としている場合、エントリー編集画面で拡張子がついたエントリーコードを登録しようとすると「システムで予約されているキーワードです。」とエラーが出る問題を修正しました。

Ver. 2.11.33 からは、デフォルトの拡張子の設定を空欄にしていても、エントリー編集画面で拡張子がついたエントリーコードが登録できます。



最後に

この度はご迷惑をおかけしてしまい申し訳ございませんでした。該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。

また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいりますので、引き続き気づいた点がありましたらフィードバックいただけると幸いです。

スケジュールにカスタムフィールドを利用する

営業日等のカレンダーを表示する機能として、「サイト管理>スケジュール」があります。
標準機能として、テキストを自由に登録する入力欄と選択肢の中から選んで登録する機能を用意しています。今回は、カスタムフィールドを使って登録項目を自由に追加する方法を説明します。

カスタムフィールドの入力欄を登録側に追加する

下記のファイルを利用しているテーマ内の同じ階層へコピーします(テーマファイルの継承)
/themes/system/admin/schedule/edit-data.html
例えば、siteテーマを利用している場合は、下記の場所へコピーをします。フォルダが無い場合は新規に作成します。
/themes/site/admin/schedule/edit-data.html

 
上記"day:loop"ブロックの中に、カスタムフィールドを記述します。下記の例では、{color}の項目を追加しています。

<!-- BEGIN_MODULE Admin_Schedule_View -->
<!-- BEGIN unit:loop -->
<!-- BEGIN month:loop -->
<!-- BEGIN week:loop -->
<!-- BEGIN day:loop -->
 
<input type="text" name="color{id}[]" value="{color}" />
<input type="hidden" name="field{id}[]" value="color{id}" />
 
<!-- END day:loop -->
<!-- END week:loop -->
<!-- END month:loop -->
<!-- END unit:loop -->
<!-- END_MODULE Admin_Schedule_View -->

カスタムフィールドの値を表示する

テンプレートファイルにカスタムフィールドの値を表示する記述を追加します。

<!-- BEGIN_MODULE Plugin_Schedule  id="xxxxx" -->
<!-- BEGIN unit:loop -->
<!-- BEGIN month:loop -->
<!-- BEGIN week:loop -->
<!-- BEGIN day:loop -->
 
{color}
 
<!-- END day:loop -->
<!-- END week:loop -->
<!-- END month:loop -->
<!-- END unit:loop -->
<!-- END_MODULE Plugin_Schedule -->

※モジュールの記述例では、既存のフィールドを省略しています。
※カスタムフィールドの出力は"plan"のブロック内ではありません。