Artikel yang dibuat secara terprogram: Masalah System-Pagebreak

Dec 11 2020

Saya telah membuat 1000 artikel joomla melalui impor konsol (Itu adalah migrasi dari sumber lain). Semuanya bekerja dengan baik (Tagging, Intro-Text, Custom field, dan sebagainya) tetapi saya memiliki masalah dengan pagebreak sistem.

Pemecah halaman sistem dan introteks bekerja dengan cara yang sama: memasukkan <hr>elemen khusus ke dalam teks, seperti:

<!-- introtext -->
<hr id="system-readmore" />
<!-- system pagebreak -->
<hr title="2" alt="2" class="system-pagebreak" />

"System-readmore" bekerja dengan baik tetapi "system-pagebreak" tidak bekerja dengan benar. "System-pagebreak" dikeluarkan di frontend sebagai <hr>elemen nyata . Jika saya pergi ke backend, buka artikel dan simpan saja - setelah itu berfungsi. Jadi setelah impor konsol dari artikel <hr>tersebut dimasukkan dengan benar tetapi saya harus menyimpan artikel secara manual di backend untuk membuatnya berfungsi.

Harus ada pengenal atau sesuatu yang saya lewatkan. Saya pikir ini seperti "system-readmore" tapi ternyata tidak.

Apakah seseorang tahu apa yang saya lewatkan, saya memeriksa debugger joomla tetapi tidak dapat menemukan petunjuk.

Jawaban

3 ThomasBaier Dec 11 2020 at 19:12

Solusi cukup sederhana. Itu adalah masalah elemen HTML yang menutup sendiri:

Jika Anda menghadapi masalah yang sama, periksa apakah <hr>pemecah halaman sistem yang dimasukkan secara terprogram memiliki garis miring penutup:

<-- CORRECT -->
<hr title="2" alt="2" class="system-pagebreak" />

<-- WILL NOT WORK -->
<hr title="2" alt="2" class="system-pagebreak">

Dalam HTML5 umumnya hal ini tidak menjadi masalah tetapi plugin pagebreak inti joomla menggunakan regex berikut untuk menentukan apakah itu pagebreak sistem atau bukan:

// plugins/content/pagebreak/pagebreak.php:67

$regex = '#<hr(.*)class="system-pagebreak"(.*)\/>#iU';