Score:0

เทมเพลตหน้าแก้ไขของผู้ใช้

ธง us

ฉันใช้ธีม startupgrowth lite และฉันต้องการกำหนดธีมให้กับหน้าแก้ไขผู้ใช้ของฉัน เฉพาะเมื่อผู้ใช้เป็น 'ผู้ทดสอบ' และเขากำลังแก้ไข 'โปรไฟล์ผู้ใช้ที่สมัคร'

ฉันรู้ว่าเมื่อฉันต้องการแก้ไขแบบฟอร์มฉันต้องทำตามขั้นตอนนี้:

1- เพิ่มฟังก์ชั่นใน template.php เพื่อแทนที่หน้าเทมเพลต:

 ฟังก์ชั่น startupgrowth_lite_theme ($ ที่มีอยู่, $ ประเภท, $ ธีม, $ เส้นทาง) {
$items['user_profile_form'] = อาร์เรย์(
    // แบบฟอร์มจะใช้อาร์กิวเมนต์แบบฟอร์มเสมอ
        'arguments' => array('form' => NULL),
        'render element' => 'แบบฟอร์ม',
        'เทมเพลต' => 'หน้า--ผู้ใช้--แก้ไข',
        'path' => drupal_get_path('theme', 'startupgrowth_lite') '/ แม่แบบ/แบบฟอร์ม',
);
คืนสินค้า $;
}

2- หลังจากนั้นฉันต้องสร้างโฟลเดอร์ / template/form/ และใส่ไฟล์ของฉัน page--user--edit.tpl.php ลงไปและเริ่มเขียนโค้ด

3- ล้างแคชและคุณจะมีการเรนเดอร์ ถ้าไม่ใช่ คุณต้องสร้างธีมการดูแลระบบเหมือนธีมของคุณโดยค่าเริ่มต้นในกรณีของฉัน (ธีม startupgrowthup)

แต่ในกรณีปกติฉันต้องเขียนโค้ด <?php print render($form['XXX']); ?> เพื่อให้ฟิลด์ user_profil_form ชื่อ 'XXX'

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

นี่คือภาพหน้าจอที่ฉันต้องการเปิดเผยผู้ใช้แก้ไขเพจของฉันป้อนคำอธิบายรูปภาพที่นี่

Score:0
ธง us

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

ฟังก์ชัน custommodule_form_alter(&$form, $form_state, $form_id) {
  ผู้ใช้ $ ทั่วโลก;
  if($form['#form_id'] == "user_profile_form" && in_array('administrator', $user->roles)){
    echo $form['form_id']['#value'];
    พิมพ์เรนเดอร์ ($form['field1']);
    พิมพ์เรนเดอร์ ($form['field2']);
  }
  dpm(แบบฟอร์ม $);
}

PS: ฉันใช้สิ่งนี้เพื่อแก้ไขแบบฟอร์มผู้ใช้สำหรับกฎบางข้อในโครงการของฉันเท่านั้น ที่นี่ฉันเลือกผู้ดูแลระบบเพื่อดูเท่านั้น สนาม1 และ สนาม2 จากช่องแบบฟอร์มทั้งหมด ตัวอย่างเช่น

in_array('administrator', $user->บทบาท)

โพสต์คำตอบ

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