สร้างภาพใหม่จากสไตล์ภาพ


58

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

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

คู่มือ (ฉันถือว่าผิดอย่างไม่ถูกต้อง) ระบุว่าการบันทึกรูปแบบภาพทำให้เกิดการสร้างใหม่: http://drupal.org/documentation/modules/image

ฉันล้างแคชแล้ว

ฉันจะบังคับให้สร้างใหม่ได้อย่างไร


1
คุณคลิกปุ่มอัปเดตสไตล์เมื่ออยู่ที่หน้าสไตล์รูปภาพหรือไม่ ฉันเพิ่งทำการทดสอบและตรวจสอบว่าเมื่อคุณคลิกมันไฟล์ที่สร้างขึ้นทั้งหมดในไดเรกทอรีไฟล์จะถูกลบ
Juampy NR

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

ฉันใช้คำสั่งdrush
apostnikov

คำตอบ:



15

หากต้องการล้างชื่อสไตล์ภาพใน Drupal 7 ผ่าน UI ให้ลองใช้โมดูลตัวควบคุมนี้:

http://drupal.org/project/imagestyleflush

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

เมื่อเปิดใช้งานโมดูลแล้วใน UI ของผู้ดูแลระบบให้ไปที่นี่เพื่อล้างรูปแบบภาพเฉพาะ:

admin/config/media/image-styles

9

นี่เป็นข้อบกพร่องที่มีสไตล์ของภาพ หากคุณกำลังแก้ไขสไตล์ภาพและแก้ไขเอฟเฟกต์ที่มีอยู่แล้วรูปภาพจะไม่ถูกลบออกในการอัพเดต อย่างไรก็ตามหากคุณลบเอฟเฟกต์นั้น (ฉันไม่ได้พูดถึงการลบสไตล์ภาพ - ให้ลบเอฟเฟกต์ในสไตล์ภาพนั้น ๆ ) และสร้างขึ้นมาใหม่ภาพจะถูกลบออกเมื่อมีการอัพเดต


ฟังก์ชั่น image_effect_save () เรียกว่า image_style_flush () ดังนั้นนี่ไม่ใช่ข้อผิดพลาด
fietserwin

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

3

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


3

แก้ไขสไตล์ที่คุณต้องการจาก admin / config / media / image-styles

คลิกที่ปุ่ม 'อัปเดตสไตล์' ที่ด้านล่างซึ่งจะล้างรูปภาพที่สร้างไว้ทั้งหมดในโฟลเดอร์สไตล์และสร้างรูปภาพใหม่


1

ถ้าคุณมีเทมเพลตที่กำหนดเองและต้องการบังคับสไตล์ให้กับฟิลด์รูปภาพ:

 $style='full_content_width';
 $path=$node->my_img_field['und']['0']['uri'];
 $style_url = image_style_url($style, $path);
  print "<img src=".file_create_url($style_url)." >";

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.