Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

17 Good

About strandoo

  • Rank
    Full Member
  • Birthday 09/19/1961

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

978 profile views
  1. Yeah, pretty much. It's not as clean as I would like it, but it works fine. I discovered that it works fine if I include the necessary javascript in the $config->ajax part of my page, then it works as expected: if ($config->ajax) { $scf = $modules->get('SimpleContactForm'); echo "<div>{$scf->render()}</div>"; // if not enclosed in a div, my column formatting was getting lost echo "<script src=\"{$config->urls->siteModules}SimpleContactForm/resources/jquery.simplecontactform.js\"></script>"; echo "<script src=\"{$config->urls->templates}js/main.js\"></script>"; // including the 2 scripts made it work. } else { ... // full page with contact form The only downside is that every time the form submitted with missing required fields (i.e., to throw an error), the 2 script includes get added to the form section. This makes for redundant/duplicate scripts called. Not ideal, but it works. If anyone know why this happens – or a way around it – I'd love to hear it. Edit: Looking at other sites where I've used this module, I realise that I only need to include the main.js script (where I have the $.simplecontactform($('.js-simplecontactform')); line). Also, if I put that <script ... main.js\"></script> line inside the <div>, it works fine without duplicating the script on every error.
  2. I've got a project where this module may work nicely. One question however: has anyone found a way to update an existing page via email with this? Like send an email to a specific address or with a specific field that will find an existing page and replace a field's content? I'd appreciate any suggestions or ideas along these lines.
  3. @lickny2001 I came across this post that should help:
  4. @gebeer Wow. That was fast AND very helpful. I just changed 'Inputfield::render' to 'InputfieldSelect::render' as you suggested. I don't know why I didn't try that; I'll try harder next time! Cheers.
  5. Hi again. Great module; I'm using it again and wondered about this bit of code in your documentation: $this->addHookBefore('Inputfield::render', function(HookEvent $event) { if ($this->page->template->name === 'contact') { // adapt template name to compare with $inputfield = $event->object; $inputfield->addClass('col-sm-8'); $event->return = $inputfield; } }); This adds the 'col-sm-8' class to every field input. How can I just single out a specific type of input to add a class to? Specifically, a <select> input. (I need the class for some jquery stuff). Thanks in advance. P
  6. Maybe I'm missing something, but I've been using the following technique to darken my 'hero' images so I can put white text over the top: In my template, I have two fields, 'hero_image' and 'hero_overlay' (usually an integer if I'm dealing with alpha/opacity - or a text field if I want to specify rgba colour values). <?php $hero = "{$page->hero_images->first->width(1920)->url}"; //simplified; I usually do some responsive stuff here. $heroOpacity = $page->hero_overlay ? $page->hero_overlay : 0.3; // set a default opacity $heroOpacity = $heroOpacity * 0.1; //convert integer to a percentage. ?> <section class="hero" style="background: url('<?php echo $hero; ?>') 50% 50% no-repeat;background-size: cover;"> <div class="hero-overlay" style="background: rgba(0,0,0,<?php echo $heroOpacity; ?>)"></div> ... </section> Styles: .hero has a fixed height and .hero-overlay is absolutely positioned to fill the width and height of .hero. (I use 'first->' with my hero images because I like to try out different images and the ones I don't use can stay in the system in case I change my mind). The beauty of this system is that you can match the overlay opacity to the image to get the best fit between text legibility and hero image. I suppose you could reverse this and apply css opacity to whatever div holds the background image, thereby controlling the opacity of the image and letting a background color fill show through (as the ngrmm mentions in the o.p.) You can see this here: https://www.creationofnature.co.uk. Play with the opacity in the inspector. You can also expand this with 'rgba(x,x,x,x,)' instead of opacity to get coloured overlay effects.
  7. I’d like be able to show mine, but it is horribly out of date, so here’s one I did awhile ago for my (ahem, very talented) daughter: http://sarahstrandoo.com Also perhaps http://lynnmooredesign.com/ And although it’s not a portfolio, per se, this gallery goes into a bit more depth about their pieces and might provide some inspiration. http://ptfineart.co.uk/
  8. Ok, I'm revisiting this. I guess I need to echo the form when I use Ajax: if ($config->ajax) { echo $modules->get('SimpleContactForm')->render(); } else { Now the form works fine with one exception: when I submit the form with required fields empty, ajax works and I get the red 'Missing required field' text, but when I submit a second time (with or without entering data in a required field), the page submits without Ajax (i.e., it refreshes). I suspect it's a jquery thing; any suggestions? Here's the work-in-progress: http://bullocks-ley.strandoo.com/contact-us/. Thanks in advance.
  9. Hi all. Great module, Justb3a. It was easy to set up and get working, submitting to the same page without Ajax. Now I'm trying to do it with Ajax but something's not right: when I submit a blank form (expecting errors for required fields), the form disappears from the page without any notice (and without refreshing, so it's sort of working). Same if I submit the form with all the fields filled-in (I expect a Success message and no form, as without Ajax). I don't get any console errors. I've included the simplecontactform.js and initialised it per the instructions. My contact-page.php looks something like this: <?php if ($config->ajax) { $modules->get('SimpleContactForm')->render(); } else { include("./includes/head.inc"); ?> ... <div class="row row-2"> <div class="col"> <?php echo $page->body; ?> <div><!-- if I remove this div, the entire .col div disappears --> <?php echo $modules->get('SimpleContactForm')->render(); ?> </div> </div> ... <?php include("./includes/foot.inc"); } ?> Am I doing something wrong here? Any suggestions are greatly appreciated.
  10. Doh! I had, but not correctly, I guess. Once I echoed '$modules->get("MarkupGoogleRecaptcha")->getScript();', it worked. Thanks for your help. Now I need how the rest of it works. Cheers, Paul
  11. Hi @flydev My, that was quick! I did put this in my ready.php file, but don't see a captcha. Do I need to include your '$captcha = $modules->get("MarkupGoogleRecaptcha");' on the page? (I've tried it both ways). I've also tried this $f->markupText = 'Foobar'; (instead of your module) and 'Foobar' appears above the submit button, as expected.
  12. Hi @flydev. Great module. I'm using it on a custom form. I'd like to add it to an existing site where I've used Ryan's Form Template Processor module. (It's a long form; I'd rather not start from scratch). I've had a look at what you did with the log in form above; would I take a similar approach? Is there an easy way to slot the Captcha form in before the submit button (instead of outside the generated form)? I'm pretty new to hooks, if that's what's needed. Any suggestions appreciated.
  13. @kixe Thanks for the update. I'll check it out. @Can I'll pass for now, but thanks for the module.
  14. Hi. Nice module, seems to work pretty well. A few suggestions about configuring/customising. I like to keep my css files to a minimum, so I'd like to move the styles to my site css file (rather than inserting it after the first <link>). But when I untick the 'inject modules stylesheet?' option, it removes classes from the markup and hides the top/bottom, dark/light options. How about keeping these options available and just letting the user know that the css must then be manually added to a stylesheet? I've done modified my installation to do that and it works well. Also, when I've changed the class prefix in the config file, I had to still manually change one class: I changed Line 104 of the module.php file from $cookieConsentForm .= "<p class='mCCF__message'>"; to $cookieConsentForm .= "<p class='{$classPrefix}__message'>"; You may want to update that. Thanks again for the module.
  15. Update: a couple of days later, the problem returned. I contacted support for this account and after a bit of back and forth, I gave up. I took a look at the hosting Plesk cp and saw that mod_sec is turned off. The PHP version was 5.3 (I'm pretty sure I had it at 5.6) so I changed it back to 5.6. I'm basically back where I started. Maybe I'll move the account to my reseller hosting. Everything works fine there...
  • Create New...