Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/08/2018 in all areas

  1. Dear PhotoWebMax, First of, the thing with out of the box systems like concrete5 that you are mentioning, or wordpress or whatever out of the box stuff out there, you will have to work with the set of rules that is limited to the system being used. Processwire doesn't have any rules nor limitations and lets you work your own personal way, or any way you want without any limitations. I also want to put your attention on that, besides fancybox and lightbox, there are the following picture galleries who are really worth while using because they present photos in a gallery in a real nice way: lightgallery lightbox2 slimbox2 colorbox prettyphoto ============================================================================================================ Coming back on what it boils down to with Processwire. First you have to create view size and thumbnails of your pictures. But that you already know. Photoshop is ok but there are tools out there who can create automatically view size and thumbnails much faster than you can do with photoshop. One important issue here: With Processwire you do not have to create viewsize and thumbnails with Photoshop or some other picture tool. Processwire creates the viewsize and thumnails automatically for you at runtime gallery output. Here is an example how Processwire lets you do that: $view = $image->width(700); $thumb = $image->size(100, 100); $title = $image->description; ============================================================================================================ All you have to do is to download fancybox, lightbox, or whatever gallery you want to use and first setup a working gallery in html only with a few example pictures and then have a look at the web code examples that the specific gallery is using. Here is an example in case you would use the colorbox picture gallery <div class="row"> <div class="col colorbox-gallery"> <a class='group4' href='img/1.jpg' title="your title."><img src="img/thumb1.jpg" alt=""></a> <a class='group4' href='img/2.jpg' title="your title."><img src="img/thumb2.jpg" alt=""></a> <a class='group4' href='img/3.jpg' title="your title."><img src="img/thumb3.jpg" alt=""></a> <a class='group4' href='img/4.jpg' title="your title."><img src="img/thumb4.jpg" alt=""></a> </div> </div> In Processwire all you have to do, is to use a for each loop to output all the lines <a class ........ > ...... </a> for all the pictures you have in the processwire backend. At the bottom you put this little script to initiate the colorbox gallery: <script> $(document).ready(function(){ $('.group4').colorbox({rel:'group4', slideshow:true, closeButton:true, transition:'elastic', speed:600}); }); </script> You will already see this script in the example that comes with the colorbox gallery. ============================================================================ Here is another web code example that comes with the slimbox2 gallery <div id=""> <a href="images/001.jpg" rel="lightbox-cats" title="This Is My Image Caption" > <img src="images/001-thumb.jpg" alt="remember your alt tag" /> </a> <a href="images/002.jpg" rel="lightbox-cats" > <img src="images/002-thumb.jpg" alt="remember your alt tag" /> </a> <a href="images/003.jpg" rel="lightbox-cats" > <img src="images/003-thumb.jpg" alt="remember your alt tag" /> </a> <a href="images/004.jpg" rel="lightbox-cats" > <img src="images/004-thumb.jpg" alt="remember your alt tag" /> </a> </div> Same thing, all you have to do is to use a for each loop in Processwire to output all the lines <a ..... > ....... </a> So that's actually it Greetings and have a nice weekend
    6 points
  2. This post takes a comprehensive look at the new Verified URL Fieldtype added to the ProcessWire ProFields package. We also review updates for the latest version of ProcessWire, 3.0.112 on the dev branch: https://processwire.com/blog/posts/processwire-3.0.112-and-new-verified-url-fieldtype/
    6 points
  3. Hi all, I have posted this in the VIP support forum of Padloper as well. Some of you do not have access to that board so posting here as well. Hopefully it doesn't count as spamming?! In June 2018, Antti announced that he was looking for a new product owner for Padloper. Sometime after, I had a fruitful discussion with him about my vision for the project if I was to take over. We agreed that commitment, motivation and a concrete plan were all important ingredients for the continued success of Padloper. I would like to officially announce that I am now the product owner and lead developer of Padloper. For those who may not know, I am the author and maintainer of several ProcessWire modules, both free and commercial. I am also a moderator in the ProcessWire forums. I would like to share with you a number of things regarding what’s going to happen next. This will be a long read. First, I would like to thank Antti for developing a great product. A lot of man-hours, dedication, passion and love has gone into making Padloper what it is today. Secondly, I would like to thank all users of Padloper. A great product is nothing without active users utilising it, putting it to the test, reporting bugs (even offering possible solutions) and proposing new features. So, thank you for helping make Padloper great! Support Thousands of hours have gone into developing Padloper. Although the code is well-written and easy to follow, Padloper is a big application with many moving parts. As such, it will take some time before I can fully grasp its inner workings. To make this transition as smooth as possible, Antti will help me with support for Padloper for some time. Currently, Padloper has a dedicated support forum. This is an arrangement between Ryan and Antti. The support forum works great as it allows the opening of multiple support threads to cover different issues. I have yet to speak to Ryan whether this arrangement can continue. However, given that I have other pro modules that I support in the open forums, it is unlikely that I will be requesting Ryan to let Padloper’s dedicated forum carry forth. A dedicated forum for one of my pro modules and open forums for my other pro modules will lead to confusion and questions from users of those other modules. Hence, Padloper support in the forums will move to the open forums. The disadvantage here is obviously the fact that support will be offered in one single (and maybe massive) support thread. To get around a ‘single thread support forum’, I am thinking of developing a simple online support queue system for all my modules. Meanwhile, support will continue in a new single thread and via email. Roadmap This list is neither exhaustive nor cast in stone. Its aim is to give an overview of my plans for Padloper. · Padloper 2 – a new major release · New backend for Padloper · Optional pro frontend module for Padloper · Documentation · New payment modules Let’s talk a bit about this list. Padloper 2 Release Padloper 2 will be a major release that incorporates a new, central backend shop for Padloper. This will be a new process module that pulls from the existing parts of Padloper (data models, etc) into one interface (more on this below). This version will also be extensible in the frontend, allowing for the plugging in of a new, optional, commercial frontend shop (full featured shop profile). Padloper 2 will not support the current ‘any page can be a product’ paradigm. Technically, products will still be pages. However, all products will utilise the same Padloper template. These will be invisible to the shop users themselves (e.g., hidden in admin tree). Only superusers will have full control of the Padloper system stuff. Support The current Padloper will continue to be supported until the new Padloper 2 is released. New features will be included in Padloper 2 only. Once Padloper 2 is released, legacy Padloper will only receive security fixes. All other support will cease. Upgrade There will be no upgrade path from the current Padloper to Padloper 2. Although their underlying architecture is the same, making sure that everything works in different setups and environments will be time consuming. However, for those who really need to migrate, if time allows and for an agreed fee, I could develop a custom script for the migration. Backend A new backend interface will be the major visual difference between the existing Padloper and Padloper 2. It goes beyond visual differences though. The new backend will be the single gateway for managing all shop-related features, both current and new ones. The backend will unify and include: · Easily add shop products. · Ability to add as little or as many custom fields to products as required (title, SKU, price, discount field, image/photo, description, categories, tags, etc). · Discounts manager (including auto start/expire discount codes). · Customers manager. · Invoices manager. · Taxes management. · Payment gateways manager. · Improved digital products management. · Stock management. · Manual order creation. · Graphical sales report. · Customer support. · Access-controlled shop editors/staff. · Dashboard for shop metrics. · Shop settings. · Product variations. · Import/export products as CSV or JSON. · Products search/filter. · Etc. Users will be able to turn off backend features that they do not need. This will enable a more streamlined experience for users. I plan to release Padloper 2 within 4 - 6 months, hopefully sooner. This is a major undertaking, hence the timescale. Please note that the first release of Padloper 2 will not include all of the above planned features. The idea is to build incrementally, adding new features in minor updates, focusing on stability, usability and security. Frontend Past requests have included the development of a full featured frontend shop. This is planned for Padloper 2. However, this will be an optional pro module priced separately from Padloper itself. The ability to build own frontend shops using Padloper API will still continue. For those who want a plug-n-play solution, this frontend shop will come in handy. The frontend shop profile will feature an ajax-powered shopping cart and a customisable ready-to-go theme. Pricing Model There are no plans to change the current prices of the 3 Padloper licences (Single, Developer and Agency). However, in order to continue to provide Padloper as a stable product with great features, it is also important that it remains a competitive and financially sustainable project. In order for this to happen and to also bring Padloper in line with my existing pro modules, the pricing model itself has to change. Starting from Padloper 2, the pricing model will shift to an ‘annual subscription’ model rather than the current ‘lifetime licence model’. I am fully aware that there are different opinions for and against annual subscriptions. However, I believe that this model is the most equitable approach that suits both the developer and the clients. The annual subscription will allow users (licence holders) to get 12 months of free VIP support for Padloper as well as future updates available within that time period. After the 12 months, users will be able to renew (online) their subscription at a discounted cost (worked as a fraction of the full purchase price) for a further 12 months (perpetually). Users will be able to continue to use Padloper for life even if they don’t renew their subscriptions. Upgrading current licences to Padloper 2 will be a paid upgrade. Current users of Padloper will get an attractive discount. This will be a time-limited offer (maybe a couple of months) that will start with the release of Padloper 2. New customers will pay the full price for Padloper 2. I hope the planned features are reason enough for you to consider upgrading to Padloper 2. Payment Modules I will be taking over as the maintainer and lead developer of the existing payment gateways (Payment base class, PayPal and Stripe). New payment modules are also planned. Payment modules will continue to be free. However, only ProcessWire 3+ support will be provided going forward. Padloper Domain and Future Downloads I have also taken charge of the Padloper domain. Within the next 12 months, purchase and download of Padloper will shift to processwireshop.pw. Please note that this is not the official shop for ProcessWire! It just bears a name that reflects its product offerings ?. Eventually, traffic to padloper.pw will redirect to processwireshop.pw. Feedback I would love to hear your thoughts about the upcoming changes and any feature requests you might have for Padloper 2. Whilst I cannot guarantee that any request will be implemented, I can promise that I will thoughtfully consider all feedback. Thanks for reading and thank you for supporting Padloper! kongondo
    2 points
  4. Hi all, I've had a request from a client (that I built a multi language PW site for) to change the text colours in the language tabs when they are not completed. Essentially they were having difficulty detecting which languages had content and which didn't when scanning the page in admin. Now I know this means changing Admin template files which I hate doing but the client was insistent. Looking through I found this in the module CSS and changed the colour for empty content to red thus: wire/modules/LanguageSupport/LanguageTabs.css - line 61 .langTabEmpty a { opacity: 0.7; font-weight: normal !important; color: #ff0000 !important; /* I changed the colour here */ } Now we get this when editing, the red indicating no translated text has been added: I think is a better UX. However, when adding alt text to images in an image field the same CSS colour change doesn't apply. Looking at the CSS the .langTabEmpty class isn't added to these tabs on the image field. Could this be considered as an improvement at next module upgrade time please? Thanks as always!
    2 points
  5. This module has just been made public under a MIT license. The opening post has been updated to reflect its release.
    2 points
  6. Offtopic: if I will have some time I will add a similar feature to aos. The reason I haven't done this already is that never had the need for a color picker in the admin. This is the js I plan to use: https://github.com/narsenico/a-color-picker
    2 points
  7. Visit Pigtail Pundits For a digital agency, finding the time to do your own website is always difficult. It gets marred by other priorities - new projects and ongoing projects. Unless of course, there’s some slack, and you’re alert to leverage it. We were lucky to steal some 30 odd days from other work. In the bargain we revamped our old website into something fresh, complete with updates on our newer solutions and Case Studies. The Thinking Behind the Design & Copy The whole subject of digital marketing is abstract and fuzzy to most clients. Jargon, complicates its understanding further. If we could use a familiar metaphor to describe the digital marketing solutions that we provide along with its benefits, we could perhaps inch closer to getting messages understood. Or so we thought. Equally, we could introduce some flavour into the language that metaphors do allow. Metaphors, by the way, are double-edged swords. It clarifies and also confuses. It tickles your imagination. It can also put people off. Extreme reactions, we felt, are far better than neutral ones. That was a risk that we decided to take knowing the consequences. The theme lends itself to some delightful metaphors which are not part of the usual digital marketing lexicon. The tone is aggressive. The metaphors help in blunting the sharpness. The metaphors color the language and visuals. The overall effect of this is unique. We also attempted to peel off some of the fuzziness that exists in digital marketing, especially in India, using copy. We tried to identify with the pains of the customer and then focus on our solutions as the best answers to the pains. We followed the StoryBrand framework by Donald Miller to craft the copy in the Solutions section. Visit Pigtail Pundits Under the Hood We have been votaries of ProcessWire since 2014 and have always used it on our own and client projects to great benefit. This occasion too was no different for our own website. Under the hood it uses Processwire CMS Bootstrap for theming Form Builder ProCache [gives us a page speed between 2 and 3 secs] Custom PHP for image alt tags SVG icons to reduce the weight and improve page speed. Visit Pigtail Pundits Bouquets and brickbats, welcome.
    2 points
  8. You can try this Site Profile Milligram Photoswipe which I've added a simple photoswipe gallery ...
    2 points
  9. @Robin S Useful textformatter in case of multiline content. If you want to hide text without linebreaks you can also use Core TextformatterMarkdownExtra:
    2 points
  10. https://www.i-programmer.info/news/86-browsers/12119-google-wants-to-kill-the-url-and-makes-a-start-with-chrome-69.html "... in the latest Chrome 69 the http:// and the https:// have been removed from the start of the URL as have other irrelevancies such as www., m. and other things that they haven't bothered to list. This is a mistake, as changing URLs is what scammers do and Google has now disconnected what you type in from what it shows. In addition, the scope for getting it wrong is quite high. ?What if a site shows different content on www.example.com and example.com? What if it has www in the middle of a longer URL? ...." Good article, I recommend reading it completely.
    2 points
  11. Great discussion, thanks for the link! Another comment: Google is certainly trying to do something immoral... maybe it is high time for me to switch to Firefox as my main browser? I manually update Chrome so I am still on v67 but in the light of this, it is highly probable I will not update to a version playing dirty tricks with the domain name system.
    2 points
  12. This is now going to happen as part of Padloper itself! :-). Cross-referencing with the relevant thread. https://processwire.com/talk/topic/19912-future-of-padloper-new-project-lead-announcement/
    2 points
  13. Just a quick heads-up: I'm moving this thread to the "Module/Plugin Development" subforum. The main Modules/Plugins area is intended for support threads of existing modules, while questions regarding module development belong to said subarea ?
    2 points
  14. Bravo on the new website. Clean and smart - a "garden" of great ideas, and the best yet of versions going back over our many years working together.
    2 points
  15. Hello for all, ConfigurationForm fieldtype module is one my experiment from 2016. Main target to build this module was to store multiple setup and configuration values in just 1 field and avoid to use 1 db table to store just single "number of items on page", or another db table to store "layout type" etc. Thanks to JSON formatted storage this module can help you to reduce number of PW native fields in project, save DB space, and reduce number of queries at front-end. Install and setup: Download (at the bottom ), unzip and install like any other PW module (site/modules/...). Create some filed using this type of field (ConfigurationForm Fieldtype) Go to field setup Input tab and drag some subfields to container area (demo). Set "Name" and other params for subfields Save and place field to templates ("Action tab") How to use it: In my case, I use it to store setup and configurations values, but also for contact details, small content blocks... (eg. "widgets"). Basic usage example: ConfigForm fieldtype "setup" has subfields: "limit", type select, option values: 5, 10, 15, 20 "sort", type select, option values: "-date", "date", "-sort", "sort" // get page children (items) $limit = isset($page->setup->limit) ? $page->setup->limit : 10; $sort = isset($page->setup->sort) ? $page->setup->sort : '-sort'; $items = $page->children("limit=$limit, sort=$sort"); Screenshots: Notes: Provide option to search inside subfields Provide multilanguage inputs for text and textarea field types Provide option for different field layout per-template basis Do not place/use field type "Button" or "File input" because it won't works. Please read README file for more details and examples Module use JSON format to store values. Text and textarea field types are multilanguage compatible, but please note that main target for this module was to store setup values and small content blocks and save DB space. Search part inside JSON is still a relatively new in MySQL (>=5.77) and that's on you how and for what to use this module. Thanks: Initial point for this fieldtype was jQuery plugin FormBuiled and thanks to Kevin Chappel for this plugin. In field type "link" I use javascript part from @marcostoll module and thanks to him for that part. Download: FieldtypeConfigForm.zip Edit: 14. August 2018. please delete/uninstall previously downloaded zip Regards.
    1 point
  16. Thanks. I'll have a look. I agree. I checked already, almost 2 months ago ?. It's definitely the frontrunner for inspiration. Yep, keeping this in mind, thanks.
    1 point
  17. I just committed a new version with several tweaks and fixes for the old, unloved Template Resources panel. It now better detects variables, constants, and functions that are only used once and therefore redundant code. The panel icon is now also colored to warn you that there are redundant things that you could remove.
    1 point
  18. Could be interesting if you can integrate this as an option: https://omnipay.thephpleague.com/ because it has several implementations for gateways by the community: https://omnipay.thephpleague.com/gateways/community/ and can be extended easily... It will be perfect if you can check the backend of Shopify (14 days free trial), is really easy to use and understand for the customers. The workflow concepts and the organization of product information, collections, discounts, inventory, etc is very simple and concise, minimal enough for a regular store. My personal recommendation is to stay away from Magento like UI and concepts. Maybe the backend could use some ideas similar to your Media Manager or Visual Page Selector, I like the visual look and the user interaction.
    1 point
  19. I just spent some time reviewing the different "boxes" on your list. So far I am liking Lightbox2...
    1 point
  20. This fieldtype will generate any runtime markup: https://github.com/kixe/FieldtypeMarkup
    1 point
  21. As you know I tested the module with several different javascript based color pickers via the included custom script option. I will leave this as is. Use and modify the picker you like. Another thing is the dynamically change of the input and background color in the Textfield. This is pretty good and if I find time I will implement this.
    1 point
  22. Thanks Bill for the glowing words. We are joined at the hips, aren't we?
    1 point
  23. Thanks @kixe One more request for you please. I am using this setup: $('#{id}').on('keyup', function() { $(this).css({'background-color' : $(this).val()}); $(this).css({'color' : ($(this).val().replace('#','0x')) > (0xffffff/2) ? '#333' : '#fff'}); }); so that the input background changed dynamically as the hex code changes, but I also want the background to be colored onload so I changed case 4 to this: case 4: $this->attr('style', "color: $textColor; background: $bgColor;"); if ($this->alpha) $this->attr('value', $color32); else $this->attr('value', $color24); break; I guess I could probably modify the JS code to do the onload as well, but I was wondering if you thought such a setup would be a worthwhile core option?
    1 point
  24. @adrian Thanks for pointing on this. I added a fallback to the standard dechex() function for 64-bit systems. In the rare case that neither the BCMath extension is installed nor the system can handle 64-bit integers, the module is not installable.
    1 point
  25. Interesting read, thanks. Related discussion on hacker news. See the bit about: OT: Yesterday, for whatever reason, YouTube was really slow on a device I was using so I tried Edge. OMG, it's true, Edge is way faster than Chrome! :-).
    1 point
  26. The API vars, $pages, $log, $sanitizer, $fields, etc aren't automatically instantiated inside custom functions. You may want to start your function eg like: $log = wire('log'); $pages = wire('pages'); ... then you can use them as normal
    1 point
  27. Browsing this new Pundits' site a came across this little blog. Although it was spotted before by @diogo, I thought it might be a good idea to link it here, as it has a couple of PW cases described and seems to be made with PW itself.
    1 point
  28. I like how your favicon is part of the logo. The red U that looks like a person holding up their hands. Very vice touch in design.
    1 point
  29. ? Congrats for the new site! ? ... and, as always, the good write up! --- --- --- I never forgot your first case study here back in 2014. Especially one post a bit down in the thread: --- --- --- There is only one question I have: Why you’re called Pigtail Pundits? ?
    1 point
  30. Thanks @bernhard! I've noticed you've been building some awesome modules lately ?. Unfortunately I've not had the time to take them for a spin yet. I'll keep this suggestion in mind. Cheers.
    1 point
  31. Hi kongondo, also best wishes from my side! Have you ever tried RockGrid? I think you should! It's great for building all kinds of custom backend listings. Just drop me a line if you have any questions.
    1 point
  32. Hi @prestoav have you considered opening this as an issue, either of consistency in the processwire-issues repository, or a feature request on the processwire-requests repository?
    1 point
  33. The cloning is in the scrolling event, because PW also clones the buttons at the page load (for the head area). If I clone the original savebuttons during pageload, they will also be duplicated in the head. However, it is ensured that this event is only executed once during scrolling as soon as the top threshold is reached. If a page is not long enough, no button needs to be cloned. The position storage is also intercepted with a debounce. The position is not saved until 250 milliseconds after the end of the scrolling event. It may look like this in the code, but any manipulation of the DOM is done only once.
    1 point
  34. Not sure about adding to AOS, there is already ctrl+s there which is available every part of the screen As for the JS part of the code, I see that too much is happening on a scroll event (cloning, adding events, appending to dom). This may cause unnecssary cpu hickups so I would recommend solving it other ways. I would either clone the buttons on page load (outside the scroll event), or toggle a class on the body and position the buttons with CSS. As for the scroll event I would sure add debounce. And perhaps I would use localStorage instead cookies, and save it only on window.unload (or beforeunload) event only.
    1 point
  35. If $widget is a page object it should be possible to put outputformatting on just to grab the value and switch it of after. If not you can use the formatValue() function from the module. You need a page and a field object as arguments. $page can be any page in this case but $field should be the one where the OF type is stored. $FieldtypeColor = wire('modules')->get('FieldtypeColor'); $field = new Field(); $unformattedColor = "ff5a01fd"; $page = new Page(); $field->type = $FieldtypeColor; $field->outputFormat = 0; $color = $FieldtypeColor->formatValue($page,$field,$unformattedColor); var_dump($color); // string(7) "#5a01fd"
    1 point
×
×
  • Create New...