কীভাবে কাস্টম ইমেল শিরোনাম তৈরি করবেন


18

আমি লেনদেনের ইমেলটিতে দেখতে পাই নতুন অর্ডার টেম্পলেট, এই ট্যাগটিতে এটি শিরোনাম এইচটিএমএল ফাইলকে কল করে app/locale/en_US/template/email/html

{{template config_path="design/email/header"}}

আমি একটি নতুন শিরোনাম তৈরি করতে চাই তাই আমি নতুন ফাইল তৈরি করেছি app/local/en_US/template/email/html/header2.htmlএবং কোডটি ব্যবহার করব

{{template config_path="design/email/header2"}}

কিন্তু এটা কাজ করে না. এই কোড সহ, কোনও শিরোনাম ইমেল অন্তর্ভুক্ত করা হয় না। কোনও ধারণা কেন বা কাস্টম ইমেল শিরোনাম তৈরির সঠিক উপায় কী?


1
আপনার কি কনফিগার পাথের অধীনে একটি শিরোনাম সংজ্ঞায়িত করা হয়েছেdesign/email/header2
ডেভিড ম্যানারস

হ্যাঁ আমি কি. আমি বিশ্বাস করি সঠিক পথটি। অ্যাপ্লিকেশন / স্থানীয় / en_US / টেমপ্লেট / ইমেইল / HTML / header2.html।
জাস্টিন লোক

উত্তর:


2

আপনি একাধিক (শিরোনাম এবং পাদচরণ) সঙ্গে কাজ করতে ক্লাস ডিফল্ট ম্যাজেন্টোও প্রয়োগ করতে পারেন।

ফাইল তৈরি করুন:

অ্যাপ্লিকেশন / স্থানীয় / পুরোনো যাদুকর / Adminhtml / মডেল / সিস্টেম / কনফিগ / উৎসে / ইমেইল / Template.php

<?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magento.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magento.com for more information.
 *
 * @category    Mage
 * @package     Mage_Adminhtml
 * @copyright  Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
 * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */


/**
 * Adminhtml config system template source
 *
 * @category   Mage
 * @package    Mage_Adminhtml
 * @author      Magento Core Team <core@magentocommerce.com>
 */
class Mage_Adminhtml_Model_System_Config_Source_Email_Template extends Varien_Object
{
    /**
     * Config xpath to email template node
     *
     */
    const XML_PATH_TEMPLATE_EMAIL = 'global/template/email/';

    /**
     * Generate list of email templates
     *
     * @return array
     */
    public function toOptionArray()
    {
        if(!$collection = Mage::registry('config_system_email_template')) {
            $collection = Mage::getResourceModel('core/email_template_collection')
            ->load();

            Mage::register('config_system_email_template', $collection);
        }
        $options = $collection->toOptionArray();
        $templateName = Mage::helper('adminhtml')->__('Default Template from Locale');
        $nodeName = str_replace('/', '_', $this->getPath());

        // Implementation for various templates config.
        $templatesNodes = Mage::app()->getConfig()->getNode('global/template/email');
        if(count($templatesNodes)) {
            foreach($templatesNodes as $nodes) {
                foreach($nodes as $code => $config) {
                    if(strpos($code, $nodeName) !== false) {
                        $templateLabelNode = Mage::app()->getConfig()->getNode(self::XML_PATH_TEMPLATE_EMAIL . $code . '/label');
                        if ($templateLabelNode) {
                            $templateName = Mage::helper('adminhtml')->__((string)$templateLabelNode);
                            $templateName = Mage::helper('adminhtml')->__('%s (Default Template from Locale)', $templateName);
                        }
                        array_unshift(
                            $options,
                            array(
                                'value'=> str_replace('/', '_', $code),
                                'label' => $templateName
                                )
                            );
                    }
                }
            }
        }

        return $options;
    }

}

তারপরে আপনার কাস্টম মডিউলে, আপনি আপনার কনফিগারেশন। এক্সএমএলে নিম্নলিখিত উদাহরণ হিসাবে ব্যবহার করতে পারেন:

<global>
    <template>
            <email>
                <design_email_header_custom_black translate="label" module="custom_module">
                    <label>Email - Header (CUSTOM BLACK)</label>
                    <file>html/header-custom-black.html</file>
                    <type>text</type>
                </design_email_header_custom_black>
                <design_email_header_custom_white translate="label" module="custom_module">
                    <label>Email - Header (CUSTOM WHITE)</label>
                    <file>html/header-custom-white.html</file>
                    <type>text</type>
                </design_email_header_custom_white>
                <design_email_footer_custom_black translate="label" module="custom_module">
                    <label>Email - Footer (CUSTOM BLACK)</label>
                    <file>html/footer-custom-black.html</file>
                    <type>text</type>
                </design_email_footer_custom_black>
                <design_email_footer_custom_white translate="label" module="custom_module">
                    <label>Email - Footer (CUSTOM WHITE)</label>
                    <file>html/footer-custom-white.html</file>
                    <type>text</type>
                </design_email_footer_custom_white>
            </email>
        </template>
</global>

সুতরাং আপনার কাছে এই বিকল্পগুলি থেকে নির্বাচন করতে হবে:

সিস্টেম> কনফিগারেশন> ডিজাইন> লেনদেনের ইমেল


1

এটি এটি ব্যাখ্যা করতে সহায়তা করতে পারে:
ইমেলের জন্য একাধিক পাদলেখ

তারা কী জিজ্ঞাসা করে:

ইমেলের জন্য একাধিক পাদলেখ ব্যবহার করুন

ভোট আপ 1 নিচে ভোট পছন্দ কি লেনদেনমূলক ইমেলগুলির জন্য একাধিক পাদচরণ ব্যবহার করা সম্ভব?

সুতরাং আমি একটি নতুন অর্ডার ইমেলের জন্য একটি নির্দিষ্ট পাদলেখ এবং চালানের ইমেলের জন্য অন্য পাদচরণ ব্যবহার করতে চাই।

আমি বর্তমানে এই লাইনটি দিয়ে পাদলেখ লোড করছি: {{টেমপ্লেট কনফিগারেশন_প্যাথ = "ডিজাইন / ইমেল / পাদচরণ"}}

আমি কীভাবে লেনদেনের ইমেলটিতে একটি নির্দিষ্ট টেম্পলেট লোড করতে পারি?


1

ডিজাইন / ইমেল / শিরোনাম এটি কনফিগারেশন বিকল্পটিকে টেমপ্লেট নয় to

আপনি যেমন একটি বিকল্প যোগ করতে একটি নতুন মডিউল তৈরি করতে পারে।

<config>
    <sections>
        <design>
            <groups>
                <email>
                    <fields>
                        <header2 translate="label">
                            <label>Email Header Template 2</label>
                            <frontend_type>select</frontend_type>
                            <source_model>adminhtml/system_config_source_email_template</source_model>
                            <sort_order>30</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                        </header2>

বিকল্পভাবে কেবল একটি নতুন সিএমএস স্ট্যাটিক ব্লক তৈরি করুন এবং তারপরে এটি আপনার ইমেল সামগ্রীর উপরে .োকান।

{{block type="cms/block" block_id="email-header-sales" }}

প্রতিস্থাপন করা হচ্ছে।

{{template config_path="design/email/header"}}

আমার cms/blockসিস্টেম -> অনুমতি -> ব্লক
কলিন অ্যান্ডারসন

1

এছাড়াও আপনাকে কোডটি সংশোধন করতে হবে app/code/core/Mage/Core/etc/config.xml

<global>
    <template>
            <email>
                <design_email_header translate="label" module="core">
                    <label>Email - Header</label>
                    <file>html/header2.html(your file name)</file>
                    <type>text</type>
                </design_email_header>

কোর ফাইলে এটি করার পরিবর্তে আপনার কাস্টম মডিউলটিতে এটি করার চেষ্টা করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.