Leaderboard
Popular Content
Showing content with the highest reputation on 08/17/2016 in all areas
-
Recently we have had the absolute pleasure of working the professional grade monitor providers, EIZO. EIZO provide colour accurate monitors, so we took heavy influence from colour in our design process. For the website, as always ProcessWire has been a perfect fit. The modules I have used are as follows: ProCache ProFields Hanna Code MarkupSEO ColorPicker MapMarker MobileDetect Any feedback would be much appreciated — http://eizocolour.com/9 points
-
Thank you Lost, I really wish I could give you some useful information on how we convinced EIZO to use ProcessWire. However the truth is the choice of CMS was never a requirement and was left completely up to us. Since last year when I first discovered ProcessWire, I've actually never had trouble selling it in. Mentioning it's much simpler to use and securer than competitors, that more is possible with the flexibility of ProcessWire than what is with other CMS, always helps. I've actually had one site which I converted from CraftCMS to ProcessWire due to the speed in which ProcessWire runs with ProCache. Really, ProcessWire sells itself.7 points
-
Just to be safe: which version of PW? I assume PW 3+ or 2.8+ But regardless of that, you need to install this: http://modules.processwire.com/modules/image-animated-gif/ EDIT: For the record: We want to implement an equivalent of the above module into the PW 3+ / 2.8+ core. But I first need to modify / write it.5 points
-
That's some really nice work and certainly a nice showcase for processwire and it's abilities. I wonder if you can share something about how you managed to get a bigger company like EIZO to work with ProcessWire as cms, as actually selling a kinda niche software is often not an easy task.4 points
-
i think the modal just loads the admin page in an iframe, not via ajax. the easiest solution would be to only redirect if the process is NOT ProcessPageEdit. You will have to allow requests to that process if you want to allow those modals. you could also limit it even further by checking the GET parameters used by the url of the iframe (eg /page/edit?id=123&fields=whatsoever)3 points
-
Thanks @gingebaker - I have applied your curly brace fixes. Please let me know if you have any further troubles.3 points
-
Any chance you could set this up on that test site you gave me access to? I think there might be some redirect going on in the repeater somewhere. The barDump content in the Tracy core only exists until the page is reloaded. If I can test your setup and confirm that would be helpful. I am also wondering if it might be useful for me to create a new panel that is a combination of expandable/collapsible nature of content that is sent via bd() and the persistence of content sent to the Tracy log files via l() - I think this "Persistent Dumps" panel could be very useful as I have come across similar situations myself where the data sent to bd() is lost due to a page reload, so I end up using l(), but this doesn't allow nice dumping of objects/arrays. This panel would have a "Clear Items" button so it's easy to reset when you have reviewed everything you've sent. Any thoughts on this idea? Or maybe this Tracy Issue would also deal with the problem: https://github.com/nette/tracy/issues/199 - it's not quite the same problem though, or maybe in your repeater case, it actually is the problem - more than one ajax call, rather than a redirect?2 points
-
Thank you, it was a very thought through decision. We almost always avoid scrolljacking (I'm personally like yourself, not a fan). However we really wanted to give a full screen almost TV like experience for this. We felt this was the best way at the time. Maybe it's something we could revisit in the future if we find a better alternative.2 points
-
Thanks for Ryan's quick work. This bugs has been fixed. Gideon2 points
-
That is definetly the culprit, just changed it and can save the complete article content in just one textarea.2 points
-
2 points
-
I might repeat myself in parts, but we already have ways to handle similarly shaped recurring data. It's by using a dedicated Template and Pages. The only thing missing from my point of view is a nice way of creating and handling those pages, which is something present in repeaters as well as in pagetables. It's just not available for a one-to-one relationship, which it would be for example for seo settings. Imagine your page could have a single, automatically created repeater page without the wrapping fieldset around it. I doubt anyone would ever notice that it's another page. But it would still have all the abilities you have for all other pages and nothing would need to change in the core of ProcessWire.2 points
-
Ah, thought there would be a setting: The textarea inputfield is limited to 8 * 1024 characters and 3 * 8 * 1024 bytes. There are already lot's of topics around in the forums about that limit, but I cannot give you an answer on how to circumvent this limit or why it's this low (a text row in mysql could hold 60k bytes).2 points
-
Yes, this is what I'd say. Can you find any similarities when or where the truncation happens? Is it after n characters or always after a certain char? Can you check the field table with phpmyadmin or something similar if a "tinytext" or a kind of charlength restriction is stated there? attached is a screenshot of my "body" textarea field. "mediumtext" indeed caps the amount of data the field will save, but shuld be enough for average sites (http://stackoverflow.com/questions/13932750/tinytext-text-mediumtext-and-longtext-maximum-storage-sizes#13932834 cheers Tom Edited: Hm, maybe the textarea() sanitizer is applied anyways, which would limit the amount to 16384 chars? http://cheatsheet.processwire.com/sanitizer/properties-and-methods/sanitizer-textarea-value-options/2 points
-
Looks and works great! Love the map on the contact page: http://eizocolour.com/contact-us/!2 points
-
It should - the screencap was filmed using a repeater field that is ajax-loaded. Otherwise, the markup is added by PHP so it's always there, plus the events are binded to $(document) so they should fire always.2 points
-
2 points
-
Try the following : Put ajax.php file in the root directory : - root_dir - wire - site - index.php - ajax.php then bootstrap ProcessWire (write in ajax.php, at the beginning of the file) : include('./index.php'); and in your javascript code, write the correct path : [...] url: "/ajax.php", [...]2 points
-
Maybe this is useful for you: http://cheatsheet.processwire.com/pagearray-wirearray/getting-items/a-eq-n/2 points
-
Ok, I think these should be fixed - the problem was not just limited to the Mail panel. I have made a significant change to handle ajax requests in the backend - before they weren't detected as coming from the backend - I am relying on $_SERVER['HTTP_REFERER'] which isn't awesome, so please let me know if anyone notices any problems. The fix for the incorrect URL when clearing emails (and other things) now also uses $_SERVER['HTTP_REFERER']. Thanks @tpr for the server access - very helpful!2 points
-
Hi, Mautic (www.mautic.org) is a open source marketing automation tool. Is there anyone have experience using Mautic with Processwire?1 point
-
Thanks for the test example - I added an "exit" after your bd() call and that keeps the dumps panel active, so without investigating too much, I am guessing that there is a second ajax action that is clearing the dumps panel. So I think this is related to this: https://github.com/nette/tracy/issues/199 The Tracy guys might come up with a rework to make this possible, but in the meantime, I think I'll proceed with the idea of a "Persistent Dumps" panel as it has other/different benefits as well.1 point
-
Your class signature isn't correct - you need to also: class TwigFunctions extends WireData implements Module { ... } Also, you will need to add the module so that PW can find it when it loads.1 point
-
@adrian check your messages. That panel would be handy, though this was the first time I encountered this issue, so I can live with it I guess I also tried the same thing without a repeater and dumps haven't disappeared, so you may be right that it's related to repeaters.1 point
-
Sorry, there's so many iterations and experiments with this module I can't always recall what the current state is. I'm working on and off on this. I forgot the current dev still does alter the urls to strip out the domain segment. So as you seen, PW isn't able to resolve the url anymore. This also created various problems not only with link abstraction, but page path history view links etc etc. Current version I have, works fine here due to NOT rewriting anything in the backend (ready() hooks all commented out + some parsing of the urls on page render). So the only headache free and correct solution is to let them as is. A "/domain1/about/" vs a "/about/" also has some advantage in that it's the physical url and can be recognized and handled in some way if needed while the latter you can't. Domain1 and Domain2 could have both a "/about/" and you don't know which one is which. I guess it's not something we have many options unfortunately. I'm still testing and working on the new version, but have no ETA. So this modules is still in "alpha" and each version may not compatible with one or another previous version (also PW versions) and I still do not recommend using it in a important or critical project and only if you're aware of the consequences it may bring (broken links you can hardly recover).1 point
-
Alex, an idea here, but I've not tried it yet. If you find it works, I can update our PageFrontEdit.js in a similar manner to trigger the events mentioned below. What's needed is an event triggered that you could monitor and then re-initialize your carousel. First you'd need to update the /wire/modules/Page/PageFrontEdit/PageFrontEdit.js file Starting at line 283, you'll see this: copy.hide(); orig.show(); Update that to this: copy.hide().trigger('pwreloaded'); orig.show().trigger('pwreloaded'); Then in your own JS, monitor the event and re-init your carousel when it occurs. Something like this: $(document).on('pwreloaded', function() { // whatever your carousel init code is, for example: $(this).find('.my-carousel').carousel(); }); Let me know if something like this provides what you are looking for?1 point
-
1 point
-
my favourite: http://appvswebsite.com/ is your budget < 10.000$ ? ---> build a website1 point
-
I guess the popup loads the admin via ajax, so you could perhaps check for wire('config')->ajax and if it's true, allow editing.1 point
-
It's exactly the same when you're using repeaters. They'll also create a page for each item. Even though it might only hold 2 or 3 fields.1 point
-
1 point
-
as far as i understood currently the workflow would be like this: create a template "metatags" add fields, "author", "description" and so on create a page holding all those meta-tags pages, eg "/metatags" add a page field "metatagpagefield" to all those templates where you want to save metatags, eg "templatea" and "templateb" create a page "demo template a" with template "templatea" now you have your field "metatagpagefield" and you can add a page there. if you setup everything correctly (auto-name and predefined parent) you could add your metatags via a modal window. your metatags would get stored somewhere like /metatags/automatically_created_pagename now you could just edit the template "metatags" and all your templates with the field "metatagpagefield" would have those changes instantly. at the moment this workflow looks kind of complicated, but i think what lostkobrakai is saying, is that if the presentation (the GUI) of the pagefield would be different (automatically creating the page /metatags/automatically_created_pagename in the example above) and showing the fields of this page directly in the edit-screen of page "demo template a" the editor would not even notice whats going on behind the scenes. thats similar to repeaters and would be a great option imho! it was not at all a noob question. welcome to the forum btw @lostkobrakai - didn't want to beat you, just wanted to explain it in my words to see if i understood it correctly1 point
-
1 point
-
Thanks! Will report if I find something strange. There's one thing I noticed yesterday (before the Ajax changes). Using an ajax-loaded repeater, adding a bd() call the dump appears on the ajax bar for a split second, then disappears. I'm using bd() from an Inputfield::render hook. As I wrote this is not new, though haven't noticed earlier.1 point
-
Just added a few CSS tweaks to the Pagelistunselect tweak: less prominent Clear button appearance and when hovering on it the selected page name gets a line-through, which makes clearer what will happen on click. See the screencap above.1 point
-
1 point
-
+1 - I just tested a site with webpagetest.org and had a bunch of jpgs, saved as "progressive" in Photoshop, but a bit too large in dimensions for the final display. As soon as image->width() or image->size() was used to scale these images, none of them were "progressive" anymore. maybe @horst has something up his sleeve?1 point
-
Hi Robin S, Thank you very much, that has fixed my issue. If only I had known that's where all the code was! I wish I could like your post twice. Thanks, Matt1 point
-
Hi Henning, Interesting approach on how to use the module Looks like a caching problem to me, could you try to add $this->pdf = null after this line: https://github.com/wanze/Pages2Pdf/blob/master/Pages2Pdf.module#L218 The code should then look like the following snippet: [...] } else { $this->create($page, true); $name = $this->getPDFFilename($page); $this->wire('session')->message(sprintf($this->_("Pages2Pdf: Created PDF file(s) '%s'"), $name)); } // Add me! $this->pdf = null; } Cheers1 point
-
Hello Stefanowitsch, I never used the plugin Adaptive Images, but I would highly recommend you to checkout Resonsive Images. If you want to use them today there is the popular polyfill Picturefill and if you want to use Reponsive Images in combination with lazy loading there is the awesome plugin lazysizes. There is also the module MarkupSrcSet by @tpr, but I never used it and prefer to include the markup myself. You have to get used to the markup at the beginning, but it is worth the effort. As far to your question: I don't think it is possible to use an different folder for uploaded images: Regards, Andreas1 point
-
Looks like the markup for post-headline is set here: https://github.com/kongondo/Blog/blob/master/MarkupBlog.module#L916 This should work I think: $out .= "<$h class='post-headline' style='background-image:url({$page->blog_images->first->url});'><a href='{$page->url}'>{$page->title}</a></$h>"; You may want to resize the image - see the API methods for this. There is a support thread for the blog module. I believe @kongondo is away at the moment but if you post questions there other users of the module may have advice.1 point
-
I can't reproduce this one, it's working fine here. What versions are you using? What is the error?1 point
-
Didn't it work without? The compiler should normally take care of this automatically.1 point
-
To get the module working out of the box on ProcessWire 3.0.x, just add to PublishToTwitter.module before installing it : namespace ProcessWire; Just tested this morning, it works like a charm1 point
-
I have it working in the current 3.x version (3.0.30 devns), no problems or hick-ups so far. thanks for the module @adrian @mr-fan1 point
-
Hi @Barido - thanks for reporting. Sorry for the delay - I was on vacation. Can you please test the latest version and let me know if that fixes things for you?1 point
-
Just for reference, here is the origins of that module:1 point
-
I'm not familiar with the blog module, but I assume that "blog_images" is an images field in the blog post template. If so, you don't want to iterate over the images in that field but rather you want to iterate over the PageArray of blog post pages. So something like: <?php $posts = $pages->find("template=blog_post"); foreach($posts as $post): ?> <div class="blog-post"> <div class="post-thumbnail" style="background-image:url(<?= $post->blog_images->first->url ?>);"> <h3><?= $post->title ?></h3> </div> Other summary content here... </div> <?php endforeach; ?> No doubt the blog module has some cool features, but it's not difficult to build blog functionality into your website using the basic PW fields and no module. Give it a go! That way you'll know exactly what's going on behind the scenes, learn about several different field types, and buzz-out when you see how easy PW makes it to build whatever is in your head.1 point
-
1 point
-
And a simple logo for $3,050, that's cool too! I would be rich by now if I could charge like that... Anyway I like the site. It's just perfect to scare the hell out of my clients so that they can be pleased by my prices...1 point