【问题标题】:Magento - Change css of New Account email's subject lineMagento - 更改新帐户电子邮件主题行的 css
【发布时间】:2012-10-16 19:50:10
【问题描述】:

我需要问一个非常简单的问题。可能你们中的许多人可能已经知道这一点。如何更改新帐户交易电子邮件中主题行的 css。

所以主题行是,

Welcome {{var customer.firstname}}

如何确保 {{var customer.firstname}} 始终为首字母大写,无论客户实际输入姓名的方式如何。

所以即使是john smith,主体留置权也应该是Welcome John。第一个字母总是大写。

我如何将text-transform:capitalize; 应用到 {{var customer.firstname}}

【问题讨论】:

    标签: php html css magento


    【解决方案1】:

    我认为你不能用 CSS 做到这一点。 到目前为止,我认为您可以做到这一点的唯一方法是在代码级别应用转换,在

    Mage_Core_Model_Email_Template::getProcessedTemplateSubject()

    通过重载这个方法并应用转换在这里说:
    $processedResult = $processor->filter($this->getTemplateSubject());
    你可能会用你自己的方法替换$this->getTemplateSubject()

    编辑:不过,这将适用于所有电子邮件模板,因此如果您希望它仅适用于特定模板,请使用 $this->getTemplateId() 进行过滤。您可以使用ucwords() 将 PHP 中的第一个字母大写:

    $subject = "This is a subject line";
    $capitalized = ucwords($subject); // produces "This Is A Subject Line"

    【讨论】:

    • 感谢您的回复。$this->getTemplateSubject() 是所有电子邮件主题行的通用方法。我只想更改“新帐户”电子邮件主题行的样式。即使在这种方法中,我实际上如何才能说主题行将始终具有text-transform:capitalize;
    • 如果您不想在所有电子邮件主题中将第一个字母大写,我确定类对象包含某种模板 ID,请尝试使用 var_dump() 转储对象或其数据并找到找出里面有什么。您可以在 PHP 中使用ucfirst() 将第一个字符大写。
    • $this->getId() 将返回模板 ID,您可以使用该 ID 为特定模板(例如新帐户)创建过滤器
    • 谢谢,我会在几分钟内试一试...你能否编辑你的答案只是为了表明一旦我得到了我想要的电子邮件模板,我该如何使用 ucfirst()。再三考虑,如果每个模板的主题行都是首字母大写,我并不介意。但是我如何在模板主题上使用 ucfirst()
    • 我试过这个$processedResult = $processor->filter(ucwords($this->getTemplateSubject())); 但这只是完全从主题行中删除了名字。任何想法我做错了什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多