Score:0

จะแสดงแบบฟอร์มติดต่อการจัดการเนื้อหา-ระบบ-ไม่เชื่อเรื่องพระเจ้าที่ฉันพัฒนาขึ้นโดยไม่มี iframe ได้อย่างไร

ธง sg

ฉันได้พัฒนาแบบง่ายๆ เนื้อหาการจัดการระบบไม่เชื่อเรื่องพระเจ้า[1] แบบฟอร์มติดต่อ PHP-HTML-JavaScript-CSS ซึ่งปกติฉันจะฝังโดย iframe แต่ฉันไม่ต้องการใช้ iframe อีกต่อไปเนื่องจากแบบฟอร์มปรากฏบางส่วนในหน้าจอมือถือโดยจำเป็นต้องเลื่อนเพื่อดูทั้งหมด

ฉันสามารถใช้ CSS นี้เป็นโซลูชันบางส่วนได้:

หน้าจอ @media และ (ความกว้างสูงสุด:733px) {
    #prcf_iframe {
        ความสูง:547px;
    }
}

นี่ไม่ใช่วิธีแก้ปัญหา "พิกเซลสมบูรณ์แบบ" หรืออะไรที่ใกล้เคียงกับพิกเซลที่สมบูรณ์แบบ เพราะในหน้าจอมือถือบางรุ่น แบบฟอร์มยังมีพื้นที่เลื่อนอยู่บ้าง หรือในหน้าจอมือถืออื่นๆ ก็มี "พื้นที่ความสูงตาย" เพิ่มขึ้นมา


ฉันจะแสดงรูปแบบที่ไม่เชื่อเรื่องพระเจ้า CMS นี้ใน Drupal โดยไม่ใช้ iframe ได้อย่างไร
1. เนื่องจากรูปแบบเป็น CMS-agnostic โดยการออกแบบ จึงไม่ควรเป็นส่วนหนึ่งของโมดูล Drupal

Jaypan avatar
de flag
เป็นรูปแบบ HTML เท่านั้น? จะเกิดอะไรขึ้นเมื่อมีการส่งข้อมูล - มีการส่งข้อมูลหรือไม่ ดึงมาจาก API ระยะไกลหรือไม่ ส่งไปยัง API ระยะไกลหรือไม่
sg flag
@Jaypan แบบฟอร์มคือไฟล์ PHP ที่มี HTML เช่นเดียวกับไฟล์ JS และไฟล์ CSS ข้อมูลถูกส่งไปยังบัญชี Gmail ของฉัน ดังนั้นฉันจึงไม่ต้องกลัวการแทรก SQL
Jaypan avatar
de flag
คุณสามารถลองวางทั้งหมดลงในเนื้อหาของโหนดตามที่เป็นอยู่ ตรวจสอบให้แน่ใจว่าเนื้อหาของโหนดอนุญาตข้อความแบบเต็ม
sg flag
@Jaypan ซอร์สโค้ดของฟอร์มค่อนข้างเป็นแบบแยกส่วนและประกอบด้วยไฟล์และไดเร็กทอรีต่างๆ ฉันสามารถสร้างคลัสเตอร์ขนาดใหญ่หนึ่งคลัสเตอร์ได้ แต่ฉันไม่ต้องการเพราะมันทำให้ฉันรักษารหัสได้ยาก ("การพิมพ์ผิดในบรรทัดที่ 500") บางทีคุณอาจตั้งใจที่จะคอมไพล์ทุกอย่างเป็น HTML มาก่อน แต่น่าเศร้าที่ฉันไม่รู้จักคอมไพเลอร์ที่จะสร้าง HTML ขนาดยักษ์จากทั้งหมด
Jaypan avatar
de flag
อย่างนั้นหรือทำด้วยวิธี Drupal ที่เหมาะสม แต่คุณไม่ต้องการใช้วิธีที่เหมาะสมของ Drupal ดังนั้นตัวเลือกของคุณจึงมีจำกัด ฉันเดาว่าอีกทางเลือกหนึ่งคือการวางไฟล์ในระบบไฟล์ของคุณและเชื่อมโยงไปยังมัน - Drupal จะไม่สร้างอินสแตนซ์ในกรณีที่มีไฟล์จริงอยู่ คุณจะไม่ได้อะไรจาก Drupal เลยแม้แต่น้อย รวมถึงธีมหรืออะไรก็ตาม
sg flag
@Jaypan ฉันเปิดให้ทำด้วยวิธี Drupal เช่นกัน (ติดต่อหรือเว็บฟอร์ม) แต่ถ้าฉันสามารถใช้รูปแบบ CMS-agnostic นั้นได้ดีที่สุด อย่างน้อยก็ในบางสถานการณ์ ฉันไม่เข้าใจคำว่า `วางไฟล์ในระบบไฟล์ของคุณและลิงก์ไปยังไฟล์นั้น' ถ้าคุณต้องการทำให้เป็นไฟล์แบบสแตนด์อโลนโดยไม่มีความสวยงามของธีม ฉันยอมรับว่าไม่ควรทำเช่นนั้น
Jaypan avatar
de flag
วิธีการของ Drupal คือการสร้างโมดูลและใช้ Form API เพื่อสร้างแบบฟอร์มของคุณ แก้ไขเว็บฟอร์ม หรือแก้ไขแบบฟอร์มติดต่อจากนั้น คุณจะแนบ CSS/JS ของคุณกับแบบฟอร์มก็ได้ไม่ว่าคุณจะเลือกวิธีใด
Jaypan avatar
de flag
และใช่ คุณเข้าใจฉันถูกต้องเกี่ยวกับการทิ้งไฟล์ลงในระบบไฟล์ของคุณ
apaderno avatar
us flag
การแสดงรูปแบบที่ไม่เชื่อเรื่องพระเจ้า CMS ใน Drupal เป็นความคิดที่ไม่ดี หากจุดประสงค์คือการป้อนข้อมูลที่ API ภายนอกจะใช้ แบบฟอร์ม Drupal ที่มีตัวจัดการการส่งที่ส่งข้อมูลไปยังไซต์ API ภายนอกเป็นวิธีที่จะไป เมื่อคุณมีไซต์ Drupal แล้ว เห็นได้ชัดว่าขึ้นอยู่กับประเภทของการรวมเข้ากับ Drupal ที่จำเป็น ฉันจำเป็นต้องผสานรวมกับ Drupal มิฉะนั้นคุณจะไม่แสดงหน้าภายนอกใน Drupal
Score:1
ธง cn

"รูปแบบที่ไม่เชื่อเรื่องพระเจ้า CMS ที่ไม่ได้เป็นส่วนหนึ่งของโมดูล Drupal" อาจถือเป็น "สคริปต์ PHP ของบุคคลที่สาม" ซึ่งเป็นความเสี่ยงด้านความปลอดภัย

ตอนนี้ คุณเขียนโค้ดนี้ด้วยตัวเอง ดังนั้นคุณจึงสามารถรับรองได้ แต่โดยพื้นฐานแล้ว คุณกำลังถามว่า "ฉันจะแทรกสคริปต์ PHP ลงใน Drupal ได้อย่างไร" ซึ่งเป็นสิ่งที่ Drupal ไม่ต้องการให้คุณทำ เนื่องจากสามารถหลีกเลี่ยงคุณลักษณะด้านความปลอดภัยต่างๆ ของ Drupal ได้

ซึ่งหมายความว่าคำตอบสำหรับคำถามของคุณคือ "มันยากและจะมีการประนีประนอม"

ต่อไปนี้เป็นสามแนวทางที่คุณสามารถทำได้

วิธีการ: โฮสต์สคริปต์บนเซิร์ฟเวอร์เดียวกัน แต่แยกออกจาก Drupal

วิธีหนึ่งคือการโฮสต์สคริปต์ในไดเร็กทอรีของตัวเองบนเซิร์ฟเวอร์ของคุณ จากนั้นแยกไดเร็กทอรีนั้นออกจาก Drupal การยกเว้นนี้สามารถทำได้ที่ระดับเซิร์ฟเวอร์ ดังนั้น Drupal จะไม่เห็นสคริปต์และสคริปต์จะไม่เห็น Drupal

ในกรณีนี้ สคริปต์จะไม่เป็นส่วนหนึ่งของไซต์ Drupal ดังนั้นคุณจะไม่มีธีม

การกำหนดค่าเซิร์ฟเวอร์ขึ้นอยู่กับเซิร์ฟเวอร์ของคุณ คุณสามารถ Google ได้

วิธีการ: ฝังไว้ใน iframe

คุณบอกว่าคุณไม่ชอบการเลื่อนใน iframes ของคุณ แต่มีไลบรารี JS มากมายให้แก้ไขปัญหานี้ เช่น iframe-resizer. นี่เป็นคำถาม Stack Overflow

วิธีการ: ใช้เว็บฟอร์ม

เขียนแบบฟอร์มของคุณใหม่เพื่อใช้ เว็บฟอร์ม โมดูล. ใช่ มันจะไม่เป็น CMS ที่ไม่เชื่อเรื่องพระเจ้าอีกต่อไป แต่ Webform เป็นหนึ่งในโมดูลสนับสนุนของ Drupal ชั้นนำและสามารถทำอะไรก็ได้ โดยพื้นฐานแล้ว องค์กรจำนวนมากเลือก Drupal เพราะโมดูลนี้ ดังนั้นจึงสามารถจัดการรูปแบบการติดต่อที่มีความซับซ้อนได้อย่างชัดเจน และจะช่วยให้คุณผสานรวมกับ Drupal ได้อย่างสมบูรณ์

Score:0
ธง id

ใช้ โมดูล PHPด้วยความเสี่ยงของคุณเอง

โพสต์คำตอบ

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