Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/06/2016 in all areas

  1. No, there isn't. And there is no reasons to prefer .html endings to slash even from SEO point.
    5 points
  2. This is a image and animation heavy single page for NexWafe, a spinoff of the Fraunhofer Institute for Solar Energy Systems (ISE) based in Freiburg, Germany. The sections were realized with Flickity carousels to separate the content into slides. The site features various animations, like parallax separators, fixed lines and two large animations to illustrate the process and production. The animations were realized using ScrollMagic in combination with GSAP. Challenging was to keep the site performant by lazy loading almost every image and disable animations for mobile devices. www.nexwafe.com Modules used: ProCache Markup Sitemap XML Email Obfuscation (EMO) Tracy Debugger Regards, Andreas
    4 points
  3. Bit of an update, we are back in play with this one. Moved the doc-generation tasks to a remote server for reliability. PW 2.7 docs stay, although not getting updated, obviously. PW 2.8 and 3 branches getting regular automated doc-generation.
    4 points
  4. Hi @cjx2240 Here is Ryan's note about that: The question is an easy one when talking about forms that get submitted once, but not so easy when talking about forms that edit existing pages and will continue to do so indefinitely in the future. That's why you see in initial value support in many Inputfields that doesn't apply when used in a page/field context. Meaning, you see the option when using an Inputfield in FormBuilder, but not when using the same Inputfield for editing a page field. When it comes to this FieldtypeOptions module, initial value support (pre-selected options) needs "required" status for the Inputfield because it has to have some way to know when to populate the initial value. It knows to populate the initial value when there is no selection present. There isn't any other straightforward way for it to make that determination, unless we limit the feature only to newly created pages. If the user were to de-select everything so that no options are selected, then the initial value would once again get populated the next time they edited the page. That's why we only support initial values if "required" status is active, as it prevents the possibility of the user de-selecting all options and assuming it will stay that way. There is an easy way around it though. Create an option to represent "no selection", likely your first option. If the user literally wants no selection, they would select that, and still meet the "required" status of the field. From there you can have any pre-selected option(s) you want. Since you as the site developer put that option there, you can likewise know when to act–or not act–upon it in your output code.
    3 points
  5. I have started developing a new Fieldtype. This Fieldtype provides a CTA Button for the frontend. The fieldtype stores 3 values for 'label' (multilanguage), 'target', and 'class' (CSS). Output Markup can be edited in the Fieldsettings. Enter Page id or path in the target field to store an internal page. If page exist the Field will show up the path in current user language and Page ID as well. If you type in a numeric string which is not similar to any pages id, the inputfield will throw an error. Any other string will be stored as is. If target is an internal page any page field value or property is accessible. The Inputfield optionally provides an API Description. Please try out: https://github.com/kixe/FieldtypeButton http://modules.processwire.com/modules/fieldtype-button/ Feedback welcome. Screenshots:
    2 points
  6. Is it about fields in the admin/backend? A hack could be to preselect the desired checkboxes with a hook on Pages::added() Assuming it is only relevant to have the preselection on new pages. Which would go into the direction of Zekas quote of Ryan above:
    2 points
  7. Module: Auto Smush https://github.com/matjazpotocnik/AutoSmush Optimize/compress images. In Automatic mode images that are uploaded can be automatically optimized. Variations of images that are created on resize/crop and admin thumbnails can also be automatically optimized. In Manual mode "Optimize image" link/button will be present. This allows manual optimization of the individual image or variation. In Bulk mode all images, all variations or both can be optimized in one click. Will process images sitewide. Two optimization "engines" are avaialable. reShmush.it is a free (at the moment) tool that provides an online way to optimize images. This tool is based on several well-known algorithms such as pngquant, jpegoptim, optipng. Image is uploaded to the reSmush.it web server, then optimized image is downloaded. There is a 5 MB file upload limit and no limit on number of uploaded images. "Local tools" is set of executables on the server for optimizing images: optipng, pngquant, pngcrush, pngout, advpng, gifsicle, jpegoptim, jpegtran. Binaries for Windows are provided with this module in windows_binaries folder, copy them somewhere on the PATH environment variable eg. to C:\Windows. Similar modules: JpegOptimImage by Jonathan Dart: https://processwire.com/talk/topic/6667-jpegoptimimage/ TinyPNG Image Compression by Roope: https://github.com/BlowbackDesign/TinyPNG ProcessImageMinimize by conclurer: https://processwire.com/talk/topic/5404-processimageminimize-image-compression-service-commercial/ Forum discusion: https://processwire.com/talk/topic/12111-crowdfunded-tinypng-integration-module/ Module created by Roland Toth (@tpr).
    1 point
  8. AdminOnSteroids Various admin tweaks to enhance ProcessWire admin. http://modules.processwire.com/modules/admin-on-steroids/ https://github.com/rolandtoth/AdminOnSteroids
    1 point
  9. Just posting a teaser at the moment because I am not yet sure if this should be a standalone module, or part of the still unreleased Module Toolkit (https://processwire.com/talk/topic/8410-module-toolkit/). Now available here: https://processwire.com/talk/topic/15702-module-settings-import-export/ It is quite simple in its execution - it adds a Settings Import / Export collapsed fieldset to the top of the module settings page of all modules. You can copy settings from one install and paste into another and click "Import Settings". It works quite like PW's core template and field import/export functionality. Simple as that PM me if anyone is keen to try it before I decide where and how it should be released. Settings are automatically saved when you uninstall a module, so you have an easy way to restore them when you uninstall. Anyone have any thoughts on any of this?
    1 point
  10. I want to have a list of checkboxes and check a couple by default. However, I want to allow my users to uncheck them if they like. This seems impossible, am I missing something?
    1 point
  11. Actually, I just remembered that I made a module which just aims for that, but relying on the new pages to inherit those "base settings" from parents. https://github.com/blynx/AdoptDefaultsFromParents What it is about: In the module settings, you can define templates that hand over the values of fields (which you also have to define) to newly created pages below them. Also, you can decide whether the new pages inherit the values only from the immediate parent or from the closest parent with that field. I used it for a shop - so that products inherit some values from their product-category (parent page). The product-category defines some basic common settings for the products then ... Yet, I haven't tested it with all sorts of fields - it might work well with that checkboxes field (options?) - it works with pagefields, simple texts, etc ... but not for images / files ... it simply copies the field value via setAndSave() You can have a look at the code there on the github page for inspiration - or even use the module if it suits you Or, here is the basic code to put into an /site/init.php file (see: https://processwire.com/blog/posts/processwire-2.6.7-core-updates-and-more/) <?php wire('pages')->addHookAfter('Pages::added', null, function() { $page = $event->arguments(0); if($page->template->name == 'my-template-name') { // save outputformatting state // and set to false $of = $page->of(); $page->of(false); $desired_value = ## my desire ## // set the desired field value $page->set('that-field-name', $desired_value); // save page // and re-set of to initial state $page->save(); $page->of($of); } }); cheers!
    1 point
  12. Not really. With a little testing (without errors). Obviously not enough! Didn't check the usage inside repeater.
    1 point
  13. Using the language files search box, I've found the culprit at the ProcessPageEdit.module file. You need to translate two strings there, 'Save' and '%s + Next'. %s will be replaced with the translation of 'Save'.
    1 point
  14. If your module extends Wire or any Wire derived class, you should be able to this in your init() method. public function init() { $this->wire('html', $this); } Are you sure the module is loaded when the template is rendered? See the autoload option in your modules config: public static function getModuleInfo() { return array( 'title' => 'Example module', 'version' => '1.0.0', 'singular' => true, 'autoload' => true, ); } You could also load it manually: $html = $modules->get('ModuleName');
    1 point
  15. Hi @kongondo, FYI, your documentation website is down at the moment.
    1 point
  16. https://mpdf.github.io/what-else-can-i-do/images.html It looks like mPDF can handle dynamically generated images and base64encoded images.
    1 point
  17. @Rajiv I see that there is a repeat of your post above as a new topic. Just to let you know; I've deleted the new topic as it had far less information in it than the thread here. You should still be able to get assistance with your problem here. Cheers!
    1 point
  18. I think you should swap out the video CSS for this: position: absolute; min-width: 100%; min-height: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); Remove the height and width CSS, and also remove the width attribute from the video tag. Seems to work nicely on my side...
    1 point
  19. I made some changes in v1.0.4 (just uploaded to GH). At the bottom at the module config you can see what is the path being search for local optimizers (executables) and which optimizers have been found. If optimizer is not found, then it's skipped. I extended the search path so you can put optipng, jpegoptim and gifsicle on the root of PW ($config->paths->root) on templates directory ($config->paths->templates) and assets directory ($config->paths->assets). If you have shell access then you can install all three mentioned optimizers with apt-get install optipng jpegoptim gifsicle Hope that helps.
    1 point
  20. @Rajiv Thanks for reporting. I pushed an update. Please checkout and tell me if it is working now. I couldn't test.
    1 point
  21. Great! That for sure is a candidate for the Site of the Week...
    1 point
  22. Just realised that 'modal=1' is hiding the header/footer with CSS rather than different markup being rendered. So easy enough for me to add some CSS to hide the notices too. #notices { display:none; }
    1 point
  23. Could it be that the host is running some maintenance task on a regular basis that makes the file system unwriteable? Of course that shouldn't happen, but at this point if you're willing to try anything you could copy the site to a different host and see if the issue still occurs. I guess you would need to simulate browser traffic for testing - I don't know much about that, maybe JMeter?
    1 point
  24. @benbyf Just wondering what happened to this beautiful site? Especially as it is featured in the newest weekly issue and people might be confused to see the "Website is coming soon" banner. Regards, Andreas
    1 point
  25. Freakin awesome! @teppo: site of the week right here.
    1 point
  26. Very nice site indeed, I love pretty much everything about it. Two nitpicks, though: On full HD, the video doesn't seem to scale to fit the whole screen. zooming in and then out or resizing the browser seems to get it to fit. The text in your black content boxes (three up) is vertically aligned to the top, but it should really be in the middle to be consistent with the titles that show before hovering over them.
    1 point
  27. Well, all your mods should be part of ProcessWire by default, so...
    1 point
  28. Just wanted to throw in my two cents. If you come at it as a front-end developer that's a complete beginner to CMSs, then PW should be very easy to get going. It's built around working the same way that existing web technologies work… Pages map in the same way that URLs do… Template files are just plain HTML/PHP files… the API is largely the same as a front-end API (jQuery)… and so on. So if you know your basic web technologies outside of CMSs, then you won't find a simpler system than ProcessWire. The problem is most other CMSs don't work that way. So the line gets more blurry when you've become used to the terminology and approach of another CMS, because PW can be quite different. Sometimes you have to unlearn what you know from elsewhere in order to appreciate the simplicity of PW. People are always trying to find complexity that isn't there, especially those that grew up on other platforms. PW is a system that rewards you by being curious. We aim to show you how to fish so that you can catch the big fish. We're not here to catch the fish for you. You don't have to know anything about fishing, but you should know how to yell for help if you fall in the water. And you should be willing to learn by example. I learn best by example, so this is the way I tend to teach too (and I recognize not everyone learns the same way). PW is a CMS and CMF, not a website builder. If you are curious and willing to explore, you'll find it is very simple indeed. Certainly far simpler than even WordPress in creating a custom website. You do have to come from the point of view of "I want to create and have the system adapt to me" rather than "I will create something based on what the system provides." If you already know what you want to create and it's something unique, you won't find a simpler path to get there than PW. WordPress is a different beast, in that it's basically saying "YOU WILL CREATE A BLOG or modify this blog and call it something else." Some people like that underlying structure… "okay, we're starting with a blog, what can we do with it?" Others do not like that underlying structure. Our audience consists of those that want to have a system support their original creation rather than mash up an existing creation. There was a PDF posted earlier that I think hit upon some good points, and I appreciate the effort that went into putting it together. The fictional character being scripted in the dialog is not our target. I can go into specifics if anyone wants me to, but I was definitely left feeling at the end of it that we have to be careful about hand-feeding too much or else we'll start attracting people beyond our support resources. Folks that want the fish cooked and filleted rather than folks learning to fish. Perhaps in time we will want to attract more of the consumer-type audience, but currently I don't know how to support users looking to find all the answers in a sitemap file. Keep in mind that unbridled growth is not necessarily desirable. Most of us don't get paid for most of the work we do here and we do best if we grow in a more healthy manner, attracting more thoughtful designer/developers that are here to learn and also contribute. Obviously the author of the PDF is one of the thoughtful ones (and the PDF is a great contribution), even if his fictional character isn't necessarily, but we'll welcome him anyway. But we will definitely be going through the PDF in more detail to learn and improve from it where appropriate, while keeping our audience in mind. I think we're doing something right, because our audience is growing rapidly. I'm nearly full time on ProcessWire now, and it's still difficult to keep up with everyone. At present, I like that our audience is largely open-minded, curious and thoughtful designers and developers. Somehow we've attracted an incredible quality of people and that's what makes this place great. We could not ask for a better group of people here. I'm reluctant to lead PW towards a website builder direction because I think that's when the quality of the community could go down, as people come looking to eat fish rather than learn, catch some fish, and throw some back. The reality is that part of our long term goals include converting the rather large audience that has outgrown WordPress into ProcessWire users. I'm convinced that we do that by giving them more ProcessWire, and not more WordPress. But at the same time, we always have to keep an eye on WordPress and learn. They've been lucky no doubt, but they are also doing many things right. So we have been and always will be working to make the WP-side of users more comfortable in ProcessWire, while also trying to help them grow by distancing them from the limited WP mindset.
    1 point
  29. yes, we can help! you just need to add check_access=0 to your selector http://cheatsheet.processwire.com/selectors/built-in-page-selector-properties/check_access-0/
    1 point
  30. Try $page->is() with status code flags. Example: if ($page->is(Page::statusUnpublished)) if (!$page->is(Page::statusUnpublished))
    1 point
  31. Yep, works great! In case anyone is following along, my original example is updated and working correctly. Thanks Ryan!
    1 point
×
×
  • Create New...