Magento 1.9.1.0 - Tải lên Loại tệp PDF trong Trình chỉnh sửa Wysiwyg và hiển thị Biểu tượng PDF


9

Tôi đã tạo một mô-đun tùy chỉnh cho phép người dùng tải lên .PDFloại tệp CMS > Pages. Mã được sử dụng là dưới đây:

ứng dụng / etc / mô-đun

<?xml version="1.0"?>
<config>
  <modules>
    <Pdf_WysiwygFiles>
      <active>true</active>
      <codePool>local</codePool>
    </Pdf_WysiwygFiles>
  </modules>
</config>

ứng dụng / mã / cục bộ / Pdf / WysiwygFiles / etc / config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <modules>
    <Pdf_WysiwygFiles>
      <version>1.0.0</version>
    </Pdf_WysiwygFiles>
  </modules>
  <adminhtml>
    <cms>
      <browser>
        <extensions>
          <allowed>
            <jpg>1</jpg>
            <jpeg>1</jpeg>
            <png>1</png>
            <gif>1</gif>
            <pdf>1</pdf>
          </allowed>
        </extensions>
      </browser>
    </cms>
  </adminhtml>
</config>

Điều này hoạt động trong CE-1.9và không cho phép tải lên tệp PDF khi bạn nhấp vào nút Chèn hình ảnh và không cho phép linknó.

Ngoài ra, làm thế nào để thêm một pdf preview iconcho mỗi tập tin tải lên? Kết quả sẽ như hình ảnh bên dưới

nhập mô tả hình ảnh ở đây


Bạn đã thử gì?
Rajeev K Tomy

@ RKT-JoinMageStackDay2015, đoạn mã trên cho biết những gì tôi đã thử.
Slimshadddyyy 16/2/2015

Câu trả lời:


8

Để cho phép tải lên và liên kết tệp pdf, tôi đã sửa đổi tệp config.xml của bạn

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <modules>
    <Pdf_WysiwygFiles>
      <version>1.0.0</version>
    </Pdf_WysiwygFiles>
  </modules>
  <adminhtml>
    <cms>
      <browser>
        <extensions>
          <allowed>
            <pdf>1</pdf>
          </allowed>
        </extensions>
      </browser>
    </cms>
  </adminhtml>
</config>

Đối với biểu tượng bạn có thể sử dụng kiểu css. Thêm phần này vào biểu định kiểu của bạn, ví dụ: skin / frontend / rwd / default / css / style.css

.col-main a[href$=".pdf"]:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/icon_pdf.png) no-repeat;
  margin-left: 5px;
}

BIÊN TẬP:

Đã xóa phần này:

          <media_allowed>
            <pdf>1</pdf>
          </media_allowed>

Cảm ơn phản hồi của bạn, nhưng với tôi config.xmltôi vẫn có thể chèn link, tải lên tệp pdf và chèn nó. Sự khác biệt cơ bản giữa <media_allowed><allowed>
Slimshadddyyy 16/2/2015

Và làm thế nào để tôi biết nếu loại tập tin được tải lên là một .doc/.xls/.pdf?
Slimshadddyyy 16/2/2015

Tôi nghĩ rằng @Vikram đã đúng, "media_allowed" không có ở bất cứ đâu trong Magento nên có lẽ không có tác dụng. Có thể nó đã từng ở các phiên bản cũ nhưng tôi đã kiểm tra xuống 1.4.0.0 và không thể tìm thấy gì.
clockworkgeek

Có vẻ như bạn đúng, nó không có tác dụng.
mkutyba

Điều này không còn đủ nữa, xem ví dụ stackoverflow.com/q/44387645/719023
Simon

1

Để tải lên tệp pdf trên WYSIWYG, hãy làm theo các bước dưới đây:

Chúng tôi cần tải lên các tệp pdf thông qua công cụ WYSIWYG trên Magento. Tôi đã kiểm tra chức năng gốc và mặc định nó chỉ cho phép hình ảnh (jpg, png và gif).

Vì vậy, để thay đổi hành vi ban đầu, tôi đã mở tệp ứng dụng / code / core / Mage / Cms / etc / config.xml, định nghĩa các kiểu tệp có thể được tải lên và khoảng dòng 110 tôi đã thêm dòng 1 như dưới đây:

<allowed>
<jpg>1</jpg>
<jpeg>1</jpeg>
<png>1</png>
<gif>1</gif>
  <pdf>1</pdf>
</allowed>

Bây giờ làm mới trình duyệt và bạn cũng có thể tải lên tệp pfd.


2
Vì vậy, bạn đang thực sự chỉnh sửa một tập tin Core, phải không? Đó luôn là một ý tưởng tồi. Ngay khi một bản nâng cấp hoặc bản vá sẽ cập nhật tệp này, các bản cập nhật của bạn sẽ bị mất.
Dragos

0

Để cho phép tải lên bản pdf, bạn nên thêm phần sau vào tệp cấu hình modoules

<adminhtml>
        <cms>
            <browser>
                <extensions>
                    <image_allowed>
                        <pdf>1</pdf>
                    </image_allowed>
                </extensions>
            </browser>
        </cms>
    </adminhtml>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.