Score:-1

สร้างสไตล์ภาพใหม่โดยทางโปรแกรม

ธง us

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

ฉันพบว่า แกน/โปรไฟล์/มาตรฐาน/config/ทางเลือก/image.style.max_1300x1300.yml ไฟล์ที่มีเนื้อหาดังต่อไปนี้

ชื่อ: max_1300x1300
ป้ายกำกับ: 'สูงสุด 1300x1300'
ผลกระทบ:
  04caae9a-fa3e-4ea6-ae09-9c26aec7d308:
    รหัส: image_scale
    ข้อมูล:
      ความกว้าง: 1300
      ความสูง: 1300
      หรู: เท็จ
    น้ำหนัก: 1
    รหัส: 04caae9a-fa3e-4ea6-ae09-9c26aec7d308
รหัสภาษา: th
การพึ่งพา:
  โมดูล:
    - responsive_image
  บังคับใช้:
    โมดูล:
      - responsive_image

ฉันต้องสร้างไฟล์ใน config/install ชื่อ image.style.<image_style_id>.ymlด้วยคุณสมบัติเหล่านั้น

ฉันควรใช้ค่า UUID ใด

Kevin avatar
in flag
อยู่ในผู้ดูแลระบบภายใต้การกำหนดค่า
us flag
@Kevin ขอบคุณ แต่ไม่ใช่คำถามของฉัน ฉันไม่ต้องการใช้ UI
Kevin avatar
in flag
การเขียน yaml ด้วยมือนั้นไม่มีจุดหมาย สร้างใน UI และส่งออก
Score:0
ธง in

ในการตอบคำถามนี้ ฉันคิดว่าคุณได้สร้างการกำหนดค่าผ่าน UI แล้วส่งออก ตามที่เควินกล่าวถึงในความคิดเห็นของเขา นี่เป็นวิธีที่ดีที่สุดในการสร้างการกำหนดค่าเริ่มต้นเพื่อรวมไว้ในโครงการของคุณ

โปรดทราบว่าตัวอย่างทั้งหมดจะแสดงโดยใช้โค้ดขั้นตอนเพื่อความง่าย อย่าลืมปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดและแทรกบริการของคุณเมื่อสร้างโครงการของคุณ


เอนทิตี ImageStyle

เมื่อติดตั้งไฟล์คอนฟิกูเรชันแล้ว ไฟล์นั้นจะกลายเป็น สไตล์ภาพ เอนทิตีการกำหนดค่าและสามารถจัดการได้เหมือนกับเอนทิตีการกำหนดค่าใดๆ

// รับตัวจัดการที่เก็บสำหรับเอนทิตี ImageStyle
$image_style_storage = \Drupal::entityTypeManager()->getStorage("image_style");
// รับอินสแตนซ์ของเอนทิตี ImageStyle ของเรา
$my_image_style = $image_style_storage->โหลด("my_image_style");

เอฟเฟ็กต์ที่ระบุในคำนิยาม ImageStyle คือปลั๊กอินที่จัดการโดย plugin.manager.image.effect บริการจัดการปลั๊กอิน

เหมือนโชคจะเข้าข้าง สไตล์ภาพ นิติบุคคลเสนอ addImageEffect() วิธีการสาธารณะซึ่งยอมรับข้อมูลเอฟเฟกต์มากมาย วิธีนี้จะดูแลการสร้างและกำหนด UUID ซึ่งจะถูกส่งคืนให้คุณ

ฟังก์ชั่นสาธารณะ addImageEffect (การกำหนดค่าอาร์เรย์ $) {
    $configuration['uuid'] = $this->uuidGenerator()->สร้าง();
    $this->getEffects()->addInstanceId($configuration['uuid'], $configuration);
    ส่งคืน $configuration['uuid'];
  }

ดังนั้นการใช้ของคุณ image.style.max_1300x1300 ตัวอย่างเช่น การกำหนดเอฟเฟ็กต์ภาพจะมีลักษณะดังนี้:

$effect_uuid = $my_image_style->addImageEffect([
  'id' => 'image_scale',
  'ข้อมูล' => [
      'ความกว้าง' => '1300',
      'ความสูง' => '1300',
      'หรู' => FALSE,
   ]
   'น้ำหนัก' => 1,
]);

คุณสามารถค้นหาเอฟเฟ็กต์รูปภาพทั้งหมดที่ลงทะเบียนในไซต์ของคุณโดยดำเนินการ: \Drupal::service('plugin.manager.image.effect')->getDefinitions();

โพสต์คำตอบ

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