Orchard CMS ブログ投稿の下部にソーシャル共有ボタンを含めることができるように、「これを共有する」スクリプトを含める方法/場所に関するアドバイス。理想的には、ギャラリーやインストーラーを使用せず、単に従来の実装だけを使用します。これは以前に行ったことがありますが、Orchard の MVC アーキテクチャにスクリプトを追加できるファイルがわかりません。
2 に答える
Shape Tracingを使用して、ブログ投稿を構成するさまざまなテンプレートを識別します。これらのテンプレートの一部はアプリ全体で共有されるため、Alternatesについても学習してください。
~/Common/Views/Parts.Common.Metadata.cshtml
このビューをオーバーライドするには、それを Themes フォルダーにコピーし、必要Views
に応じて変更する必要があります。このテンプレートをブログ投稿用にのみ変更する場合Parts.Common.Metadata-BlogPost.cshtml
は、テーマ ビュー フォルダーで新しいファイルに名前を付けます。これは代替でありBlogPost
、Orchard にこのテンプレートを BlogPost のコンテンツ タイプでのみ使用するように指示します。
共有は本質的にクライアント側のものであり、それが最も簡単なオプションだったので、私は自分のブログでそれを行うために非常に単純な HTML ウィジェットを使用してきました。そのウィジェットで使用する HTML は次のとおりです。
<p>
<a href="https://twitter.com/intent/tweet" class="share"><img src="/media/foo/Icons/squaretwitter.svg" style="width: 20px; height: 20px;" alt="Tweet this" title="Tweet this" /></a>
<a href="https://facebook.com/sharer.php" class="share share-facebook"><img src="/media/foo/Icons/squarefacebook.svg" style="width: 20px; height: 20px;" alt="Share this on Facebook" title="Share this on Facebook" /></a>
<a href="https://plus.google.com/share" class="share"><img src="/media/foo/Icons/squaregoogleplus.svg" style="width: 20px; height: 20px;" alt="Share this on Google+" title="Share this on Google+" /></a>
<a href="https://ssl.reddit.com/submit" class="share"><img src="/media/foo/Icons/squarereddit.svg" style="width: 20px; height: 20px;" alt="Share this on Reddit" title="Share this on Reddit" /></a>
</p>
共有スクリプトは使用していませんが、代わりに静的リンクを使用していることに注意してください。これは、ページを可能な限り無駄のない高速読み込みに保ちたいためであり、これらのスクリプトは大きな負担であり、メリットはほとんどないと考えています. ただし、スクリプトを HTML ウィジェットに配置したい場合は、完全に機能します。
ギャラリーには、そのようなことのためにすぐに使用できるモジュールもいくつかあります。これにより、ブログ コンテンツ タイプにパーツを追加するだけで完了できます。