-
Posts
2,769 -
Joined
-
Last visited
-
Days Won
31
Everything posted by Martijn Geerts
-
How to convince old client to swith from EE to PW?
Martijn Geerts replied to OrganizedFellow's topic in Pub
Are you willing to build it in an other system then ProcessWire? -
@totoff, actually it's true. Programming is one thing, describing it is an other. Describing what functions do takes sometimes way longer then actual programming of it, next to the fact that you have to repeat this explanation in many places.
-
There are more instances where saved empty fields still contain tabs. Sorry that I don't remember what fields and in which context.
-
Same as SiNNut said: People tend to learn more from failure then from success... regard this as a success story
-
I think it's about the ending slash that is missing. (Or you've enabled no ending slash in your templates settings) my-domain.com/quote?pack_id=xxx should probably be: my-domain.com/quote/?pack_id=xxx
-
I hadn't noticed. Good to see ryan has implemented this on the far right.
-
We don't want customers on the phone shouting: HELP!!! somehow all my pages are gone, I didn't do anything...
-
Update your module immediately
Martijn Geerts replied to adrian's topic in Module/Plugin Development
I gonna walk through and check my modules to, but that gonna be the next week. Can't make spare time to do it right now. -
I would highly recommend Mailchimp Joss, we send over 1.000.000 emails a month using MailChimp. For templates look at these blue prints: https://github.com/mailchimp/Email-Blueprints They are from Mailchimp and they know what the are doing.
-
MarkupSEO - The all-in-one SEO solution for ProcessWire.
Martijn Geerts replied to Nico Knoll's topic in Modules/Plugins
yep referring to that. But thanks for the great list I did have an overview of the page you linked to. Lisandi, when you want a module that controls it all you're left with a tool build on assumptions. Nico has build a great tool especially for the smaller websites. We're in a business sending 100.000+ newsletters a week. We have 4 big news portals and multitude of articles are published everyday, you have to automate SEO (read custom build functions). No ready to use tool could be used here, many things can't be controlled in a reasonable way with inputfields and you can't have one tool to do the job. -
ProCaching is doable for different devices with different output per template with the help of UrlSegments and Ajax.
-
MarkupSEO - The all-in-one SEO solution for ProcessWire.
Martijn Geerts replied to Nico Knoll's topic in Modules/Plugins
Andi, nico has build an SEO tool not an encyclopedia. -
policy on php short tags in PW modules / docs?
Martijn Geerts replied to jordanlev's topic in Getting Started
I would never recommend the use of short tags in any PHP documentation (when it's not about short tags ). It's not unlikely that someone following a doc is a newby on PHP. Letting them think about short tags obscures the main purpose of the doc, leaving less room in his mind to digest the actual purpose of the documentation. And of course all the above said. -
php/html form method = post comes as a get
Martijn Geerts replied to Gazley's topic in General Support
Had the same last week. I spelled method wrong. <form action="http://i-m-a-fool.com" methode="post"> <-- I did this -
Great you've solved it.
-
MagnificPopup should be enabled when you want to do this. By default it's not. You could add the requirements with pure javascript. Something like the below might work. But the better way is like mr-fan mentioned to load the module with $this->modules->get('JqueryMagnific'); var head = document.getElementsByTagName('head')[0], first = document.getElementsByTagName('script')[0], script = document.createElement("script"), style = document.createElement("link"); script.src = '/wire/modules/Jquery/JqueryMagnific/JqueryMagnific.js'; style.href = '/wire/modules/Jquery/JqueryMagnific/JqueryMagnific.css'; style.type = 'text/css'; head.insertBefore(script, first); head.insertBefore(style, script); As mr-fan points out you have to wait on ajaxComplete and attach the handlers to the popup links. A custom module fits better here then the use of AdminCustomFiles IMHO.
-
You could do a display: none on that one. When you use AdminCustomFiles for that and you want to know which process is running. enable the JSON data check box and type: console.log(config.AdminCustomFiles) in the javascript console.
-
Having a nasty bug in Explorer 9 and higher. Please wait using this one till this is fixed. Sorry Huge rewrite & now polyfilled with the matchMedia polyfill from Scott Jehl, Paul Irish, Nicholas Zakas, David Knight.
-
That part i've explained above pwired
-
.centeredImage { text-align:center; <--- this doesn't do anything an image can't align it's children display:block; } and apply it to the IMG you want to center: <img src="imgName.gif" class="centeredImage" alt="image description"> In your example: <p style="text-align:center; margin-top:0px; margin-bottom:0px; padding:0px;"><img src="<?=URLPFAD?>templates/<?=$rowTemp->name?>/pics/image.png"/></p> The Paragraph aligns the image and that image is displayed as inline. (when it centers) Don't forget that a p element is a block level element.
-
Please take a look again to your code pwired. //referring to this: <img src="imgName.gif" class="centeredImage" alt="image description">
-
@pwired. Text is align is a CSS property that can be assigned to a block element to align its inline children. As an Image can't have children the text-align won't do anything. Block element's can be centered when you apply auto margins to left and to the right.
-
MarkupAdaptive This module aims to be a helper for developing an adaptive site. MarkupAdaptive is a module that injects classnames representing 'media queries'. Fire events after the browser is resized and fires an event when a media query is changed. Optionally it can write a cookie with the ‘media query’ classname of the current viewport size. The main purpose of this module is about syncing media queries with javascript. Say I want to have a slider on the iPad but don't want that slider on the phone I could now destroy the slider exactly on the right time. You could respond server side with this cookie, but keep in mind that you then need a workaround for the default caching solutions. (template cache or ProCache) The module script works with injected media queries and a HTML element tested against those. This javascript process starts real early in the load process and is extremely fast. It starts even before the body tag is parsed. In Explorer 7 and 8 clientWidth is used to pinpoint the “classname of the viewport size”. To support Explorer 7 and 8 your media queries should be specified in pixels. In the wild An working example of the module is hosted on hosted on lightning.pw Instant ProcessWire Hosting from conclurer.com. Please don't forget to view the console.log(). The site doesn't use any media query in the stylesheet. Not that I recommend building adaptive sites without media queries. . How to install Install the module At least open the Module configuration, optionally save it. Insert the below code in the HEAD of your html file <script><?php echo $modules->get('MarkupAdaptive'); ?></script> Javascript methods available when using MarkupAdaptive. ( More instructions like Event support IE7 & 8 are available in the 'example template' packed in the module folder ) /** * Getting information with Javascript. * */ // How to catch the end of a resize (with jQuery) $('html').on('resized', function(e) { console.log('Browser window is resized'); }); // Respond on a media query change $('html').on('mediaquerychange', function(e) { // Get the old class name before the “mediaquery” change has occurred var oldClass = MarkupAdaptive.getOldClass(); // Get the new class belonging to the current “mediaquery” var newClass = MarkupAdaptive.getClass(); console.log('mediaquerychange, from: “' + oldClass + '” to: “' + newClass + '”'); }); // Get the current class var current = MarkupAdaptive.getClass() // Get the old class, the class before the current var old_class = MarkupAdaptive.getOldClass() // Mediaquery JSON object which originates from your Modules config var sizes_object = MarkupAdaptive.getJson() // Mediaquery JSON object which originates from your Modules config' var array_with_classnames =MarkupAdaptive.getArray(); // Is the current browser IE8 (returns true/false) MarkupAdaptive.isIE() // (bool) // Is the current browser IE8 MarkupAdaptive.isIE(8) // (bool) // Is the current browser less then or equal to IE9 (lt, lte, gt, gte) MarkupAdaptive.isIE(9, 'lte') // (bool) // get the cookie, when checked in the module configuration function getCookie(name) { var match = document.cookie.match(RegExp('(?:^|;\\s*)' + name + '=([^;]*)')); return match ? match[1] : null; } console.log('Classname cookie value: ' + getCookie('MarkupAdaptive')); Special thanks to all the people from conclurer who made it possible to host MarkupAdaptive. When you're searching a lightning fast hoster. You should consider lightning.pw. View on GitHub Download GitHub