Score:2

วิธีที่ถูกต้องในการเข้าถึงคุณสมบัติการเปลี่ยนแปลงการแก้ไขโหนดในทวิก

ธง cn

ฉันมีเว็บไซต์ Drupal 8.9.17 ธีมของฉัน (อ้างอิงจาก พวงมาลัย) รวมถึงใน เทมเพลต/page.html.twig:

{% ถ้าโหนด %}
[...]
อัปเดตล่าสุด {{ node.change.value|format_date('custom', 'D M d Y') }}
[...]
{% เอนดิฟ %}

สิ่งนี้แสดงคุณสมบัติเมื่อดูโหนดที่: /node/<nid>

อย่างไรก็ตาม เมื่อพยายามดูการแก้ไขที่ /node/<nid>/revisions/<vid>/view, format_date() ล้มเหลวโดยมีข้อผิดพลาด "การประทับเวลาเป็นค่าว่าง" ดังนั้นฉันคิดว่าการแก้ไขไม่ได้ถูกโหลดอย่างถูกต้อง

วิธีที่ถูกต้องในการเข้าถึงที่พักจึงใช้ได้ทั้ง 2 เส้นทาง

apaderno avatar
us flag
วิธีที่ถูกต้องควรแสดงในไฟล์เทมเพลต *node.html.twig* ซึ่งใช้สำหรับโหนดเท่านั้น
jhnc avatar
cn flag
@apaderno เป็นการแก้ไขโหนดไม่ใช่โหนด?
jhnc avatar
cn flag
@apaderno ที่ page.html.twig มีความคิดเห็นว่า "โหลดโหนดทั้งหมด หากมีโหนดที่โหลดโดยอัตโนมัติ" พร้อมใช้งาน ไม่ควร `{% if node %}` ตรวจจับได้หากไม่ใช่กรณีนี้
apaderno avatar
us flag
เทมเพลต *node.html.twig* ยังใช้สำหรับการแก้ไขโหนดอีกด้วย คำถามเกี่ยวกับเทมเพลต *page.html.twig* ซึ่งเป็นเทมเพลตที่ใช้กับทุกหน้า
Score:1
ธง us

สำหรับข้อมูลที่แสดงสำหรับโหนด ฉันชอบ node.html.twig เทมเพลต เนื่องจากไม่จำเป็นต้องตรวจสอบก่อนว่าเพจแสดงผลสำหรับโหนดหรือไม่ เดอะ node.html.twig เทมเพลตมีบรรทัดต่อไปนี้อยู่แล้ว

{% ถ้า display_submitted %}
  <ส่วนท้าย>
    {{ ผู้เขียน_ภาพ }}
    <div{{ ผู้เขียน_attributes }}>
      {% trans %}ส่งโดย {{ author_name }} เมื่อ {{ date }}{% endtrans %}
      {{ ข้อมูลเมตา }}
    </div>
  </footer>
{% เอนดิฟ %}

ถ้าฉันต้องการเปลี่ยนวิธีแสดงวันที่หรือวันที่ที่แสดง โดยไม่ลบข้อมูลอื่นๆ ที่แสดงในไฟล์เทมเพลต ฉันจะแทนที่บรรทัดเหล่านั้นด้วยบรรทัดต่อไปนี้

{% ถ้า display_submitted %}
  <ส่วนท้าย>
    {{ ผู้เขียน_ภาพ }}
    <div{{ ผู้เขียน_attributes }}>
      {% trans %}อัปเดตล่าสุดเมื่อ {{ node.getChangedTime()|format_date('custom', 'DM d Y') }}{% endtrans %}
      {{ ข้อมูลเมตา }}
    </div>
  </footer>
{% เอนดิฟ %}

สำหรับธีม Garland ซึ่งตอนนี้เป็นธีมที่สนับสนุนแล้ว ส่วนที่ต้องเปลี่ยนคือส่วนต่อไปนี้

{% ถ้า display_submitted %}
  <span class="submitted">{{ วันที่ }} â {{ ชื่อผู้เขียน }}</span>
{% เอนดิฟ %}

คุณสามารถแทนที่บรรทัดเหล่านั้นด้วยบรรทัดต่อไปนี้ หรือบรรทัดถัดไป หากคุณต้องการเปลี่ยนรูปแบบวันที่

{% ถ้า display_submitted %}
  <span class="submitted">{% trans %}อัปเดตครั้งล่าสุดเมื่อ {{ node.getChangedTime()|format_date('custom', 'DM d Y') }}{% endtrans %}</span>
{% เอนดิฟ %}
{% ถ้า display_submitted %}
  <span class="submitted">{{ node.getChangedTime()|format_date('custom', 'DM d Y') }} â {{ author_name }}</span>
{% เอนดิฟ %}

เป็นเอกสารประกอบการ node.html.twig เทมเพลตบอกว่าไม่สามารถเข้าถึงคุณสมบัติและวิธีการของโหนดทั้งหมดได้ โหนด; เฉพาะเมธอดที่มีชื่อขึ้นต้นด้วย รับ, มี, หรือ เป็น มีอยู่ด้วยกันสองสามวิธีทั่วไปเช่น รหัส, ฉลาก, และ กำ.

jhnc avatar
cn flag
ซึ่งดูเหมือนจะแตกต่างจาก [Garland node.html.twig](https://git.drupalcode.org/project/garland/-/blob/8.x-1.x/templates/node.html.twig) ซึ่งไม่มี ``. ฉันแน่ใจว่าในที่สุดเว็บไซต์จะย้ายไปใช้ธีมที่ดีกว่า แต่ตอนนี้ฉันยังติดอยู่ที่เดิม
apaderno avatar
us flag
ไม่มีอะไรแตกต่างกันมากนัก: เพียงแค่ดูที่บรรทัดโดยใช้ `{{ date }}` และแทนที่ด้วยรหัสที่คุณต้องการตามที่แสดงคำตอบที่อัปเดตฉันไม่พบธีมการ์แลนด์ ฉันไม่คิดว่าจะดูระหว่างธีมที่มีส่วนร่วม
jhnc avatar
cn flag
ฉันเพิ่งดูพวงมาลัยแบบกำหนดเองที่ฉันได้รับอย่างใกล้ชิด และไม่เห็นสิ่งใดที่ต้องใช้โค้ดใน page.html.twig ดังนั้นการใช้ node.html.twig ดูเหมือนจะเป็นวิธีที่จะไป

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา