it-swarm-vi.com

Làm cách nào để thêm mẫu Email trong Joomla

Cách thêm mẫu email cho tất cả các email mà Joomla đã gửi.

Có cách nào tiêu chuẩn để làm điều này? Hay chúng ta phải thêm mã tùy chỉnh trong mỗi phần gửi thư (hoặc lớp PHPmailer)?

Tôi đang tìm kiếm một cái gì đó như các sự kiện plugin hoặc một cái gì đó tương tự để bắt một sự kiện gửi email. Điều này có thể có trong Joomla?

Tôi nghĩ rằng tôi cần phải giải thích thêm một chút, Trình làm đẹp email là Tốt nhưng mục đích của tôi là trả tiền cho mục đích của tôi là phát triển một tiện ích mở rộng như vậy. Tôi có một thành phần tùy chỉnh để tùy chỉnh mẫu email, với trình chỉnh sửa tất cả các phông chữ kiểu, v.v ... có thể tùy chỉnh từ đó mẫu giống như bên dưới.

enter image description here

Đây là mẫu của tôi, tôi không cần thay đổi bất kỳ tin nhắn nào mà Joomla đã có khi đăng ký, danh bạ, v.v. Tôi chỉ cần thêm một mẫu trên đó,

Ngay bây giờ tôi đang làm điều đó với việc tùy chỉnh PHP tệp lõi lớp của người gửi thư, đại loại như Chad Windnagle cho biết tôi đã thấy một số các phần mở rộng làm điều này giống như ghi đè tất cả các email mà Joomla gửi tôi đã sử dụng nó trong phiên bản cũ hơn của Joomla như RS FORM PRO Joomla.

5
Jobin Jose

Tất cả các email được gửi đều được gửi bằng các tệp ngôn ngữ, vì vậy việc thay đổi nội dung thành bản sao email là vấn đề ghi đè ngôn ngữ:

http://docs.j Joomla.org/J2.5:L Language_Overrides_in_J Joomla

Tôi không chắc chắn có một "sự kiện" cụ thể để bắt email gửi. Cách duy nhất để làm điều này là có thể ghi đè lớp người gửi thư và thêm một sự kiện mà sau đó bạn có thể xem với các plugin khác.

Bạn sẽ phải ghi đè lớp này: https://github.com/j Joomla/j Joomla-cms/blob/staging/lologists/j Joomla/mail/mail.php

Và thay thế nó bằng của riêng bạn - bạn có thể làm điều đó với một plugin hệ thống tôi nghĩ. Từ đó, bạn sẽ thêm một sự kiện mới trong phương thức send () để gọi plugin trên sự kiện Gửi.

Điều này cũng sẽ chỉ hoạt động nếu việc gửi email đang sử dụng lớp thư của Joomla. Bất kỳ thư nào được gửi trực tiếp qua PHP sẽ khó theo cách này.

4
Chad Windnagle

Bạn có thể gửi mẫu email dễ dàng bằng cách sử dụng thành phần Joomla miễn phí như ACYM gửi - https://www.acyba.com/

Đối với các tính năng - https://www.acyba.com/acymailing/features.html

Ngoài ra, nó có sẵn các mẫu email miễn phí, do đó không cần phải xây dựng lại hoặc tự tạo

0
PCMShaper

Chuyển đến Trình quản lý ngôn ngữ -> Ghi đè ngôn ngữ

Ở đó bạn có thể tạo ghi đè lên các khóa sau:

  • COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_SUB DỰ ÁN

  • COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY

  • COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_SUB DỰ ÁN

  • COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_BODY

Có các phím khác. Nhưng tất cả những gì bạn cần là tạo ngôn ngữ ghi đè. Hãy xem tệp ngôn ngữ/en-GB/en-GB.com_users.ini.

0
csbenjamin

EDIT: Tôi đã đọc lại câu hỏi của bạn và nhận ra rằng bạn muốn tạo một plugin tương tự như thế này. Mặc dù vậy, tôi sẽ để lại câu trả lời của mình, vì nó có thể hữu ích cho những người khác dựa trên tiêu đề câu hỏi của bạn và bạn có thể thấy hữu ích khi xem cách tiện ích mở rộng này hoạt động.

Một thay thế cho điều này là sử dụng plugin cMandrill miễn phí từ Compojoom:

https://compojoom.com/j Joomla-extensions/mandrill-transactional-emails-ADE-easy

Và sau đó đăng ký http://Mandrill.com

12.000 email đầu tiên là miễn phí, vì vậy hầu hết các trang web sẽ không bao giờ thấy phí cho nó (bạn thậm chí không cần sử dụng thẻ tín dụng để đăng ký).

Sau đó, bạn có thể ghi đè các mẫu j Joomla mà không sửa đổi bất kỳ ngôn ngữ nào hoặc thực hiện bất kỳ ghi đè nào.

Tôi cung cấp điều này như một giải pháp thay thế có một số lợi ích tốt đẹp (như Mandrill có thể cho bạn biết nếu email người dùng của bạn bị trả lại và ai đã mở chúng, v.v.).

0
Brian Peat