Search

Just to finish this. It was a darn permissions-problem m(

After fixing the permissions of my logfile I found that ETM wasn’t able to create its templates folder in workspace. Have to do a thorough right-clean-up now.

Sorry to bother!

Glad that you found it!

Guys, I am back again. Had an awesome trip in South America, but it's good to be back.

Can you please get me up to date with the progress? I'll be working for the next few weeks, so we can get this stuff fully working.

Had an awesome trip in South America, but it's good to be back.

Nice. And: Good to hear that you are back!

the progress

The biggest issue at the moment is 2.3 compatibility. I was not very glad with the pull request (https://github.com/creativedutchmen/email_template_manager/pull/46), because it contained too many changes, even functional ones. Evaluating it was a bit over my head, and I hope that you can take a look at it.

hope that you can take a look at it.

Sure. I will take a look at it tomorrow (after the jetlag kicks in).

Sure. I will take a look at it tomorrow (after the jetlag kicks in).

Thanks and welcome back!

Hi, and thanks for this excellent extension! I've used it already for a few features and am working on implementing a contact form.

Currently, I have everyone who might be contacted in an 'Individuals' section (it would not be appropriate to make all these people authors, btw). I would like to create a contact form that does not reveal the recipient's email address, and can email any one of these Individuals.

In order to do that, I added the Individual data-source to the form's Page and Email Template. This data source filters by full-name.

I was assuming that I could pass in the Individual full-name in as a hidden variable, and have the Individual data source return that Individual's node before the Email Template XSL gets applied. Then, I thought, I could just reference that Individual's name and email address within the Receipients field like {/data/individual/entry/email-address}.

However, while full-name gets passed in, it doesn't appear that it gets passed to the Individual data source, which claims that it finds no results (I'm printing out the entire XML node in the email to debug).

Am I doing this right? Or is this even possible?

Thanks!

Hi, and thanks for this excellent extension! I've used it already for a few features and am working on implementing a contact form.

Thanks! It's always nice to see people using my work!

Am I doing this right? Or is this even possible?

I am not sure how you are doing the filtering and posting the "search value" back to symphony, so: I do not know.

What I do know, is a way to make this work. I'll walk you through it real quick, so please let me know if you need more help on a specific part. First, for every message that is sent, you will need a new entry in a section (I'd call this one messages, or inquiries). In this section, you'll want a few fields that you can build the email with (body, subject, etc). Also, to make sure the email will be sent to the right people, you'll need a selectboxlink field that links to your recipients (be sure to enable select multiple here.

Now, your contact form will be a very straight-forward event with the etm filter enabled. You can now filter one datasource on the entry id (like in the tutorials) and retrieve the recipients with another, chained datasource that gets the actual addresses.

Bear in mind, though, that sending the emails will not happen in the background, so if you are sending to many people (I'd say 10+) your app will feel really slow, and it might timeout.

Again, this is a real quick explanation of a method I see, there are definitely other ways to do this, but this seems to be the easiest to me. If you are stuck, just shout!

OK, yeah I think I get it - include a selectboxlink field in the section that stores ETM submissions, then just use xpath pull the recipient's email address from the linked record in the ETM Email Settings.

This will only be going to one recipient, so speed/timeouts shouldn't be an issue.

Thanks very much for the pointer, will let you know if that works.

OK, I tried setting it up as I interpreted your instructions, but I think I may have done something incorrect. I haven't used SBL very much, preferring SSM.

In order to debug the ETM xsl, I'm printing out the entire data node in the notification email so that I can see what's going on. What I see is no node that could be used for data source chaining, so I'm not sure how to get that working to retrieve an email address from a chained section.

Here's the node that I see, and I'm presuming that this is the context of the XSLT performed when compiling and sending an ETM email:

 <data position="1">
    <individual position="1">
        <section position="1" id="19" handle="individuals">Individuals</section>
        <error position="2">No records found.</error>
    </individual>
    <individual-contact-messages position="2">
        <section position="1" id="64" handle="individual-contact-messages">Individual Contact Messages</section>
        [...message...]
    </individual-contact-messages>
    <events position="3">
        <individual-contact-submission position="1">
            <post-values position="1">
                <recipient position="1">8047</recipient>
                <title position="2">Mr</title>
                <first-name position="3">Jimmy</first-name>
                <last-name position="4">McMichael</last-name>
                <email-address position="5">jmcmichael@gmail.com</email-address>
                <subject position="6">hi there!</subject>
                <message position="7">Platea a pulvinar magnis lorem? Lacus urna turpis velit enim tristique dapibus a porttitor magna, ridiculus, magnis mauris! Penatibus et enim vut. Arcu habitasse pid urna tempor, facilisis nascetur, nunc. Habitasse velit tempor! Sit, vut phasellus, pulvinar aliquam a eu, sit. Hac, tincidunt sit! Et, porta tempor parturient sit odio? Tincidunt, pulvinar urna dignissim? Sed! Proin pulvinar ultricies porttitor nunc, cum augue velit tortor, scelerisque arcu! Porta massa nunc cras, amet, facilisis nec non amet, hac scelerisque habitasse. Nunc etiam cum. Ultrices odio platea? Pid quis arcu elementum quis rhoncus et sed cursus parturient? Nisi nunc ultricies ac scelerisque velit et et mus? Natoque in, sit, adipiscing ac! Ultricies et lorem tempor nisi odio, nec aliquam ut aliquet adipiscing ac.</message>
            </post-values>
        </individual-contact-submission>
    </events>
</data>

The field I am trying to link is 8047. It looks like the SBL field links to the proper Individual record just fine when I view it in the symphony backend, but all I get in the data XML is the ID number (an ID number for a specific Individual). I've tried sending in a handle to a Full Name field, but I get an SQL error, so I assumed that the SBL field needs an ID to work correctly.

My understanding of the problem is that I need to get that Individual's email address somehow into this data node so that I can access it using xpath from the Recipients field in the ETM template screen. I think I understand what you're saying about data source chaining, but will that actually work in this context? It doesn't look to me like ETM includes a params node, and my understanding is that's integral to the way data source chaining works.

OK, nevermind - I figured out data source chaining in this context and finally got everything hooked up properly so that I can pull the email address w/o sending it in via the form.

Thanks for your help!

Josh, good to hear. I know I've thrown in quite a bit of 'advanced' concepts that might be hard to get your head around, so I am glad you've figured it out!

I have 2 issues with the Email Template Manager:

  • After updating to latest version 4, i can't use

<xsl:import href="workspace/utilities/mastermailing.xsl"/>

in my mail html, get a path error: Error compiling xml with xslt: XSLTProcessor::importStylesheet(): I/O warning : failed to load external entity "/data/sites/web/websitename/www/workspace/email-templates/tmpactivation/workspace/utilities/mastermailing.xsl"

  • Reply-to-name and Reply-to-emailadress with static values (or dynamic) never work, allways gets the name from the system - preferences - gateway smtp - from name...

Thanks!

In the latest version the path to the utilities has been "fixed" to be the same as any other page in symphony. From memory, this means you can use ../utilities/mastermailing.xsl instead of what you have right now.

I will look into the reply-to issue, I don't remember breaking it, but you never know:)

Just gave reply-to a try, and it works fine on my installation. My guess is that there is either something wrong with your configuration, or your email provider strips the reply-to header (some do this, for some reason).

Also, sometimes it isn't very simple to see the reply-to header is really set, have you tried to reply to the email to test?

Dear, i tried again, but no result:

I have installed the latest version: creativedutchmen-emailtemplatemanager-4.0.1-0-gf3da3d3, but in the extensions the version displayed is 4.0.

Still cant uses a utility and reply-to doesn't work yet.

Will update my symphony version 2.2.5 to 2.3 to see if that solves the problem.

2.2.5 is the latest 'officially' supported version, so updating should only get you into more trouble. (the 2.3 branch is relatively stable, but not really tested by michael yet).

Have you tried the other path to your utilities? If you really can not figure it out, you can contact me at huib [at] my username [dot] com

Indeed the include paths work as expected, which means that you can use relative paths from your template to your utility, e.g.:

<xsl:import href="../../utilities/email.master.xsl"/>

The reason for this is that your template resides in /workspace/email-templates/template-name! So you have to "climb up" (into the workspace directory), then "climb down" into your utilities folder.

[EDIT]: I can't find any problems with the reply-to functionality either.

I know that Nils has a fork out there which incorporates @petsagouris' 2.3 compatibility as well as UI updates. I can't find it though. Can someone please post a link to the repo. Thx

@stuart: no need, no need. The 2.3.x branch on the official repo is compatible.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details