Điểm:-1

Lập trình tạo một phong cách hình ảnh mới

lá cờ us

Tôi đang tạo mô-đun của riêng mình và tôi cần tạo kiểu hình ảnh theo chương trình để sử dụng với loại phương tiện mới.

tôi tìm thấy lõi/hồ sơ/tiêu chuẩn/config/tùy chọn/image.style.max_1300x1300.yml tệp có nội dung là tệp sau.

tên: max_1300x1300
nhãn: 'Tối đa 1300x1300'
Các hiệu ứng:
  04caae9a-fa3e-4ea6-ae09-9c26aec7d308:
    id: image_scale
    dữ liệu:
      chiều rộng: 1300
      chiều cao: 1300
      cao cấp: sai
    trọng lượng: 1
    uuid: 04caae9a-fa3e-4ea6-ae09-9c26aec7d308
mã ngôn ngữ: en
phụ thuộc:
  mô-đun:
    - responsive_image
  thi hành:
    mô-đun:
      - responsive_image

Tôi nghĩ tôi cần tạo một tệp trong cấu hình/cài đặt, được đặt tên image.style.<image_style_id>.yml, với các thuộc tính đó.

Tôi nên sử dụng giá trị UUID nào?

Kevin avatar
lá cờ in
Đó là trong quản trị viên dưới cấu hình.
lá cờ us
@Kevin cảm ơn nhưng không phải câu hỏi của tôi, tôi không muốn sử dụng giao diện người dùng
Kevin avatar
lá cờ in
Viết ra yaml bằng tay là vô nghĩa. Tạo chúng trong giao diện người dùng và xuất chúng.
Điểm:0
lá cờ in

Khi trả lời câu hỏi này, tôi cho rằng bạn đã tạo cấu hình của mình thông qua giao diện người dùng và sau đó xuất nó, như Kevin đã đề cập trong nhận xét của anh ấy. Đây là cách tốt nhất để tạo cấu hình ban đầu để đưa vào dự án của bạn.

Lưu ý rằng tất cả các ví dụ được hiển thị bằng mã thủ tục vì mục đích đơn giản; hãy chắc chắn tuân theo các phương pháp hay nhất và đưa vào các dịch vụ của bạn khi xây dựng dự án của bạn.


Thực thể ImageStyle

Khi tệp cấu hình đó được cài đặt, nó sẽ trở thành một Hình ảnhPhong cách thực thể cấu hình và có thể được thao tác giống như bất kỳ thực thể cấu hình nào.

// Lấy ehandler lưu trữ cho các thực thể ImageStyle.
$image_style_storage = \Drupal::entityTypeManager()->getStorage("image_style");
// Lấy một thể hiện của thực thể ImageStyle của chúng ta.
$my_image_style = $image_style_storage->load("my_image_style");

Các hiệu ứng được chỉ định trong định nghĩa ImageStyle là các plugin được quản lý bởi plugin.manager.image.effect dịch vụ quản lý plugin.

Như may mắn sẽ có nó, các Hình ảnhPhong cách thực thể cung cấp các addImageEffect() phương thức công khai, chấp nhận một loạt thông tin về hiệu ứng. Phương pháp này thực sự đảm nhiệm việc tạo và chỉ định UUID, sau đó UUID này sẽ được trả lại cho bạn.

chức năng công cộng addImageEffect(mảng $configuration) {
    $configuration['uuid'] = $this->uuidGenerator()->generate();
    $this->getEffects()->addInstanceId($configuration['uuid'], $configuration);
    trả về $configuration['uuid'];
  }

Vì vậy, sử dụng của bạn image.style.max_1300x1300 ví dụ, gán hiệu ứng hình ảnh sẽ như sau:

$effect_uuid = $my_image_style->addImageEffect([
  'id' => 'image_scale',
  'dữ liệu' => [
      'chiều rộng' => '1300',
      'chiều cao' => '1300',
      'cao cấp' => SAI,
   ],
   'trọng lượng' => 1,
]);

Bạn có thể tìm thấy tất cả các hiệu ứng hình ảnh đã đăng ký trên trang web của mình bằng cách thực hiện: \Drupal::service('plugin.manager.image.effect')->getDefinitions();

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.