プログラムで作成された記事:システム-ページ分割の問題
Dec 11 2020
コンソールインポートを介して1000のjoomla記事を作成しました(他のソースからの移行でした)。すべてが正常に機能しています(タグ付け、イントロテキスト、カスタムフィールドなど)が、システムのページ区切りに問題があります。
システムのページ分割とイントロ<hr>
テキストは同じように機能します。テキストに次のような特別な要素を挿入します。
<!-- introtext -->
<hr id="system-readmore" />
<!-- system pagebreak -->
<hr title="2" alt="2" class="system-pagebreak" />
「system-readmore」は正常に機能していますが、「system-pagebreak」は正しく機能していません。「システムページ分割」は、実際の<hr>
要素としてフロントエンドに出力されます。バックエンドに移動した場合は、記事を開いて保存するだけです。その後は機能します。したがって、記事のコンソールインポート後、<hr>
は正しく挿入されますが、記事を機能させるには、手動で記事をバックエンドに保存する必要があります。
識別子か何かが足りないに違いありません。「システム-続きを読む」のようなものだと思いましたが、そうではありません。
誰かが私が欠けているものを知っていますか、私はjoomlaのデバッガーをチェックしましたが、ヒントを見つけることができません。
回答
3 ThomasBaier Dec 11 2020 at 19:12
解決策は静かでシンプルでした。これは自己完結型のHTML要素の問題でした。
同じ問題が発生した場合は、プログラムで挿入された<hr>
システムページブレークに終了スラッシュがあることを確認してください。
<-- CORRECT -->
<hr title="2" alt="2" class="system-pagebreak" />
<-- WILL NOT WORK -->
<hr title="2" alt="2" class="system-pagebreak">
HTML5では通常、これは問題ではありませんが、joomlaコアページ分割プラグインは次の正規表現を使用して、システムページ分割であるかどうかを判断します。
// plugins/content/pagebreak/pagebreak.php:67
$regex = '#<hr(.*)class="system-pagebreak"(.*)\/>#iU';