こんにちはJoomlaコミュニティ、
すべての記事がコンテンツ全体とともに表示されるカテゴリブログレイアウトを作成したいと思います。つまり「もっと読む」の位置で記事を短くすることなく。これを達成する最も簡単な方法は何ですか?
どんなアドバイスでも大歓迎です、ありがとう。
さて、これはこれがどのように機能するかです:
記事を作成するときに、「続きを読む」を記事に挿入するオプションがあります。
続きを挿入すると、記事の内容が2つに分割され、これらの2つがdb #__content
テーブルの2つのデータベース列に保存されます。
続きを読む前のテキストはintrotext
に入り、続きを読む後のテキストはfulltext
列に入ります。
続きを使用しない場合、テキスト全体がintrotext
に入ります。
その後、ブログカテゴリレイアウトは常に記事のイントロテキストをレンダリングします。
したがって、全文を表示するカテゴリブログのレイアウトを作成する最も簡単な方法は、記事に続きを挿入しないことです。
もう少し冒険したい場合は、ブログカテゴリのレイアウトをニーズに合わせてカスタマイズできます。
ブログカテゴリレイアウトの代替メニューアイテムを作成することをお勧めします。これにより、任意のカテゴリのメニューアイテムを作成でき、それらのための異なるレイアウト。
そしてここにそれを行う方法があります:
1。代替レイアウトに必要なファイルを作成します:
内部:
components/com_content/views/category/tmpl
以下のファイルを複製(複製)し、複製したファイルの名前を変更します。
blog.php
複製して名前を変更-> blogfull.php
blog.xml
-> blogfull.xml
blog_children.php
-> blogfull_children.php
blog_item.php
-> blogfull_item.php
blog_links.php
-> blogfull_links.php
2。新しいxmlファイルを編集します
blogfull.xmlを開き、最初の行を編集します。
<layout title="COM_CONTENT_CATEGORY_VIEW_BLOG_TITLE" option="COM_CONTENT_CATEGORY_VIEW_BLOG_OPTION">
<help key = "JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_BLOG" />
<message>
<![CDATA[COM_CONTENT_CATEGORY_VIEW_BLOG_DESC]]>
次のようなものに:
<layout title="Blog Full Text" option="Blog Category Layout with Full Text">
<help key = "JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_BLOG" />
<message>
<![CDATA[Blog Category Layout with Full Text]]>
3。ブログアイテムの新しいテンプレートファイルを編集します。
47の周りの行を編集して編集します。
<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext; ?>
への変更:
<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext; echo $this->item->fulltext; ?>
4。新しい代替メニュー項目を使用してメニュー項目を作成します
これで、カテゴリブログレイアウト用に選択する新しいメニュー項目ができます。 Menu Managerに移動し、articlesコンポーネントの新しいメニュー項目を作成します。メニュー項目タイプを選択しようとすると、新しいタイプBlog Full Textが見つかります。 *メニュー項目の設定/オプションを調整して、残りのニーズに合わせてください(続きを表示/非表示など)。
上記のいずれも、「もっと読む...」リンク/ボタンを配置したい記事がある場合、一般的な状況を完全に解決することはないと思います。そのため、[もっと読む]を非表示にすると(メニューアイテムのパラメーターまたは記事の設定内)、表示どおりに機能します。単に「もっと読む」を非表示にすると、記事全体が最後に表示されなくなります。
この場合、カテゴリブログビューのオーバーライドを作成する必要があります。
拡張機能-テンプレートマネージャ-テンプレート(左側)に移動し、デフォルトのサイトテンプレートタイトルをクリックします。これで、テンプレートをphpコードに「より近く」編集しています。 PHPを知らなくても、ここで実行できます。
上部の「Create Overrides」タブを選択します。リストで、com_content(中央の列)->カテゴリをクリックします。 Joomlaは、今変更する必要があるすべてのフォルダーとファイルを作成しました。特定の問題については、数行を変更するだけで済みます。今すぐ「エディタ」タブに移動します-> htmlフォルダをクリックしてから、com_content->カテゴリをクリックします。必要なファイルはblog_item.phpです。クリックすると、右側に表示されます。次に、私のバージョンのJoomla(3.4.1)で47あたりの行を編集する必要があります。
<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext; ?>
への変更
<?php echo $this->item->event->beforeDisplayContent; ?> <?php echo $this->item->introtext.$this->item->fulltext; ?>
次に、[保存して閉じる]をクリックします。カテゴリブログビューがあるページを更新すると、記事の全文が表示されます。これは、[Show Intro Text]パラメーターを[Menu item Options]パラメーター内で[Show]に設定していて、これを保持したい場合に機能します。デフォルトでは、グローバル構成で表示されます。また、今は本当に必要ないので、同じメニュー項目内で[もっと読む]を[非表示]に設定できます。
このようにして、ブログのカテゴリビューを除いて、記事の他のすべてのインスタンスの[もっと読む]リンクを保持します。
元の質問に関して。イントロテキストなしで記事全体を表示します。
コーディングの経験を必要としない非常にシンプルな方法。
カテゴリの4番目のドロップダウン[カテゴリリストのアイテムビューオプション "で、イントロテキストの単語の制限を選択するオプションがあります。このフィールドを空白のままにすると、デフォルトですべての記事テキストが表示されます。
シンプルで完了しました。カスタマイズする必要はありません。
小規模なウェブサイトの場合は、[ブログのレイアウト]タブでブログビューのメニュー項目を作成し、「主要な記事」の数として999999のような大きな数を入力します。その中の最初の999999の記事が表示されます全文としてのカテゴリ(ただし、全幅/ 1列も含まれるため、複数列設定を使用できないため、イントロ記事用です)。