Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月22日 at 11:43

タイトル通りOpen Graph Tags Liteでog:imageをリクエストにより動的に変化させたいので

packages/open_graph_tags_lite/src/Html/OpenGraphTags.php



$v->addHeaderAsset((string)OpenGraph::create('og:image', $og_image_url));

のあたりを書き換えて実現しました。
これはアップデートがあると書き換えられてしまいますが
この部分のオーバーライトの手法がわかりませんでした。

application内でオーバーライトする方法ありますか?

タグ:

Re: Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月22日 at 14:07
オーバーライドできます

/application/src/Html/OpenGraphTags.php

application/bootstrap/app.php に追記

$app->bind(Concrete\Package\OpenGraphTagsLite\Src\Html\OpenGraphTags::class, Application\Src\Html\OpenGraphTags::class);
 

Re: Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月22日 at 14:42
うーん、$app->bind()が効かないな〜、なんでだろう〜
 

Re: Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月22日 at 14:43
管理画面からキャッシュクリアしてオーバーライドキャッシュをクリアしてみてください
 

Re: Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月22日 at 15:05
はい、クリアしてみたし、確認用なんでキャッシュ切ってるんですよねー。
Application\Src\Html\OpenGraphTags
にわざとエラーほりこんでも反応しないので、書き換えれてない。
うーん。

Core::bindでも反応しない。
 

Re: Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月22日 at 15:07
オーバーライド対応したのが2.1.4以降なので、それより古かったりしませんか?
 

Re: Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月22日 at 16:10
おっとすいません、ローカルの確認用が2.1.3でした。
いけそうです。
 

Re: Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月22日 at 20:14
うーん、2.1.5にしてるんだけどbindできてないっすね。

application/bootstrap/app.phpに追加してるんですが。

$app->bind('Concrete\Package\OpenGraphTagsLite\Src\Html\OpenGraphTags::class', 'Application\Src\Html\OpenGraphTags::class');

COre::bindとかしなくていいですね?
 

Re: Open Graph Tags Liteでog:imageを動的に入れたいので変更したが

2020年5月26日 at 11:01
バージョン8からオーバーライドの方法が変わったみたいです。。
http://documentation.concrete5.org/developers/framework/extending-concrete5-with-custom-code/creating-custom-code-in-the-application-directory

application/bootstrap/autoload.php もいじらないと行けなくなったようで。ちょっと面倒ですね