Re: Re: C5DK TwentyTwenty Imageの不具合について

2019年11月6日 at 17:10

まずどのファイルが読み込めていないかを確認するのが先ですが・・・
アセットの登録をしてから読み込む感じです。

アセットの登録について
http://concrete5-japan.org/help/5-7/developer/assets/registering-an-asset/

アセットの登録は読み込めていないファイルを登録します。

登録したアセットを読み込むときは、ブロックのcontroller.phpに以下の感じで追加。

public function registerViewAssets($outputContent = '') {
$this->requireAsset('javascript', '登録したハンドル');
}

読み込むときに何かしらの条件があるならifで条件分岐してください。
「concrete5 registerViewAssets」で検索するといくつか参考にできるものが出てくると思うのでそちらで確認してみてください。

Re: C5DK TwentyTwenty Imageの不具合について

2019年11月12日 at 18:22
ありがとうございます。

参考ページを参照してやってみたのですが、うまくいきませんでした。
アセットの登録が間違っているのかも知れません。

どのJSが読み込めていないかは判明はしました。
フッターに読み込むべき記述がされていても読み込んでいないと言うことがあるということでしょうか?

application/bootstrap/app.phpに下記を記述しました。
-------------------------------------------------------------------------------------------------------------------------------------------
$al->register(
'javascript', 'c5dktwentytwenty', 'packages/c5dk_twentytwenty_image/js/jquery.twentytwenty.js'
);
-------------------------------------------------------------------------------------------------------------------------------------------
どのファイルに指定の文字列を追記していいのかわからないところがあります。

また、/packages/c5dk_twentytwenty_image/blocks/c5dk_twentytwenty_image/controller.phpに下記を記述しました。
-------------------------------------------------------------------------------------------------------------------------------------------
public function registerViewAssets($outputContent = '') {
$this->requireAsset('javascript', 'c5dktwentytwenty');
}
-------------------------------------------------------------------------------------------------------------------------------------------
上記を記述するとエラーメッセージが表示されます。
-------------------------------------------------------------------------------------------------------------------------------------------
Cannot redeclare Concrete\Package\C5dkTwentytwentyImage\Block\C5dkTwentytwentyImage\Controller::registerViewAssets()
-------------------------------------------------------------------------------------------------------------------------------------------
間違っている箇所があればご指摘ください。

下記をヘッダーに追記したら正常に表示されました。
<script type="text/javascript" src="/packages/c5dk_twentytwenty_image/js/jquery.twentytwenty.js"></script>
 

Re: Re: C5DK TwentyTwenty Imageの不具合について

2019年11月14日 at 18:56
registerViewAssetsは、38行目くらいに存在していると思いますけど、その中に

$this->requireAsset('javascript', 'c5dktwentytwenty');

を追加しているのか新たに一番下の行とかに丸々

public function registerViewAssets($outputContent = '') {
$this->requireAsset('javascript', 'c5dktwentytwenty');
}

を追加していますか?
Cannot redeclareなんで、registerViewAssetsを再宣言しているみたいなんですけど。
 

Re: C5DK TwentyTwenty Imageの不具合について

2019年11月15日 at 10:08
ありがとうございます。

38行目のregisterViewAssetsその中に
$this->requireAsset('javascript', 'c5dktwentytwenty');
を追加しても症状は変わらず、

下記を別途、丸々追記すると
public function registerViewAssets($outputContent = '') {
$this->requireAsset('javascript', 'c5dktwentytwenty');
}

下記のエラーが表示されます。
Cannot redeclare Concrete\Package\C5dkTwentytwentyImage\Block\C5dkTwentytwentyImage\Controller::registerViewAssets()