2

私の OpenCart ストアの顧客は、[ファイルのアップロード] オプションを使用して製品ページから Corel Draw ファイル (.cdr) をアップロードする機能を要求していました。これはデフォルトでサポートされていないファイル タイプの拡張子であり、まだ組み込むことができません。私がこれまでに行ったこと:

System > Settings > Server で、Allowed File Extensionsの下にcdrCDRを含めました。さらに、 Allowed File Mime Typesに見つけることができるすべての MIME タイプを入れました。

  • アプリケーション/cdr
  • アプリケーション/coreldraw
  • アプリケーション/x-cdr
  • アプリケーション/x-coreldraw
  • application/vnd.corel-draw
  • 画像/cdr
  • 画像/CDR
  • 画像/x-cdr
  • 画像/x-coreldraw
  • zz-アプリケーション/zz-winassoc-cdr

残念ながら、Corel Draw X6 cdr ファイルをアップロードしようとすると、OpenCart は依然として「無効な拡張タイプ」を返します。また、.torrent ファイルを組み込んでみました (テストのためだけに同じアプローチを使用しました) 。.cdrファイルをアップロードする答えは近いと思います。

4

2 に答える 2

2

管理者バックエンドのファイル マネージャー経由で実行する場合は、次の vqmod スクリプトを作成して xml フォルダーに保存できます。これにより、ダウンロードやリンクなどのために cdr ファイルをサイトに追加できます。ファイルマネージャー経由...

<modification>
<id>CDR File Uploader</id>
<version>1.2</version>
<vqmver>2.1.5</vqmver>
<author>Jeremy Fisk</author>
<file name="admin/controller/common/filemanager.php">
    <operation>
        <search position="before"><![CDATA[if (isset($this->request->get['image'])) {]]></search>
        <add><![CDATA[$ext = strrchr($this->request->get['image'], '.');
            if(strtolower($ext) == '.cdr') {
                $this->request->get['image'] = 'cdr_icon.png';
            }]]></add>
    </operation>
    <operation>
        <search position="after"><![CDATA['.jpg',]]></search>
        <add><![CDATA['.cdr',]]></add>
    </operation>
    <operation error="skip"><!-- 1.5.0.x - 1.5.1.2 only -->
        <search position="replace"><![CDATA[$this->model_tool_image->resize(substr($file, strlen(DIR_IMAGE)), 100, 100)]]></search>
        <add><![CDATA[(strtolower($ext) == '.cdr') ? $this->model_tool_image->resize('pdf_icon.png', 100, 100) : $this->model_tool_image->resize(substr($file, strlen(DIR_IMAGE)), 100, 100)]]></add>
    </operation>
    <operation error="skip"><!-- 1.5.1.3 only -->
        <search position="replace"><![CDATA[$this->model_tool_image->resize(utf8_substr($file, strlen(DIR_IMAGE)), 100, 100)]]></search>
        <add><![CDATA[(strtolower($ext) == '.cdr') ? $this->model_tool_image->resize('pdf_icon.png', 100, 100) : $this->model_tool_image->resize(utf8_substr($file, strlen(DIR_IMAGE)), 100, 100)]]></add>
    </operation>
    <operation>
        <search position="replace"><![CDATA[300000]]></search>
        <add><![CDATA[3000000]]></add>
    </operation>
    <operation>
        <search position="after"><![CDATA['image/jpeg',]]></search>
        <add><![CDATA[                'application/octet-stream',]]></add>
    </operation>
</file>
<file name="admin/language/english/common/filemanager.php">
    <operation>
        <search position="replace"><![CDATA[300kb]]></search>
        <add><![CDATA[3MB]]></add>
    </operation>
</file>

これにより、ファイル マネージャー n opencart でのアップロード制限も 3Mb に増加します (以前は 300Kb でした)。

cdr アイコンの png ファイルをデフォルトの画像の場所 (「cdr_icon.png」と呼ばれる) に保存する必要があります。

この小さなスクリプトが役立つことを願っています

乾杯ジェレミー

于 2013-10-20T19:44:30.243 に答える
0

上記のすべてを試しましたが、うまくいきません。最新の OpenCart 1.5.6.x バージョンでは、画像マネージャーを介して画像ファイル以外をアップロードすることはできません。「すべてのファイルタイプ」拡張子(有料の拡張子)が機能しました。ただし、サンゴ ファイル application/cdr の正しい MIME タイプを設定する必要があります。

于 2014-09-03T03:10:37.113 に答える