Leaderboard
Popular Content
Showing content with the highest reputation on 03/26/2017 in all areas
-
This morning I pushed a module to github which extends the page api with moving and sorting capability. https://github.com/kixe/PageMove * CALLABLE (static & instance) * PageMove::execute($page, $parent = null, $newIndex = 0, $selector = 'all'); * $modules->get('PageMove')->execute($page, $parent = null, $newIndex = 0, $selector = 'all'); * * EXTENDED PAGE API * @method $page->move($parent, $newIndex = null, $selector = 'all') * @method $page->setIndex($newIndex, $selector = 'all') // set absolute index include=all * @method $page->getIndex($selector = '') // same as $page->index without argument @see getSelector() * * @method $page->moveFirst($parent = null) * @method $page->moveLast($parent = null) * @method $page->moveForward($steps = 1, $selector = 'all') * @method $page->moveBackwards($steps = 1, $selector = 'all') * * @property $page->moveFirst // same parent * @property $page->moveLast * @property $page->moveForward * @property $page->moveBackwards * * EXTENDED PAGES API * @method $pages->move($page, $parent = null, $newIndex = 0, $selector = 'all') * @method $pages->resortChildren($page, $selectorValue) * // same like core function $pages->sort($page, true); with capibility to change the sort condition Have a nice weekend.5 points
-
Hi, We have a great project of a national website which will present over 50000 products and we are studying the possibility to use PW, following the success we had with a very much smaller project. While we know that PW has great search capabilities, we are looking at the same time at Elastic Search since there will be many angle to search from and we want the most natural, swift rendering. The products will be distributed over six main categories, and certainly three subcategories for each. Those categories will have their templates and the calls for the associated skus (50000 products) will be made à la Processwire. The website will be bilingual, and, on far future phase 2, there might be some ecommerce stuff (not all products). I would like to know if any of you had an experience dealing with that amount of information for a website with PW, and if you could share some tips or describe some pitfalls to avoid...3 points
-
Exciting time, congrats on the success of your previous project and starting this new project. I don't know if I can point to any pitfalls that are specific to processwire but more in relation to site structure as Processwire is extremely forgiving when it comes to adapting to various uses. I suppose that I would mainly focus on your layout as you would normally but take note on how you want to relate all of your items to one another and how you are going to present these items to your editors in a way that they can keep the site up to date reliably. In dealing with a product site you will want to be mindful of the items that you have on your site making sure that your structure doesn't create any bad habits in the people that update the site, like allowing editors to create duplicate items in different parts of your site and such. I have to say though I know I thought similarly as you when I started a smaller sized site that I may need to use something like elastic search to search my site, but actually quickly abandoned this after I found the cache field. Using this field, add all the fields that you want to be searchable in a more general search, and then if you want to have a more granular product search, you can jump into the bread and butter of Processwire and search the fields specifically and sort the items as needed. I power my whole site off just the cache field and text searches. You can build a couple of these to handle different item types and just perform a search on a field directly without having to join all of the fields, this can really speed up your searches. Interested to see how this progresses and hope you keep us updated on your progress3 points
-
(sorry for my English) I believe that PW can handle a product project with a very large number of items. As @horst said I think that the most important part is to try to reduce the number of product fields (less tables to deal with). If this can help, I read and did a few tests with Elastic Search and the PW module elastic-search. This is what I learn: Elastic Search should only be used as a search engine solution and not as a project database. Do not use Elastic Search if the product information is changed regularly to avoid the headache data management between PW, Elastic Search and some third-party system. Elastic Search gives a lot of tools to improve the reverence of search results. I never had the chance to try the FieldtypeCache module but I think is not that simple to control which items should be founded on a search. A Queue system and the elastic-search module hooks (create, update and delete) can help a lot with the synchronization of data coming from an external DB. This is a really interesting topic thanks for sharing your experiences.2 points
-
I had some time now to try out Guetzli and have to say, that it is really memory hungry. But the results on the other hand are impressive too. I made some tests with good old Lenna: Uncompressed (312.31 kb) Compressed with JPEGOptim and Jpegtran (ImageOptim default) (291.87 kb) Compressed with Guetzli (127.8 kb) From 312 kb to 127 kb is indeed impressive. For anyone who doesn't like the command line. The newest alpha of ImageOptim 1.7.1a4 also includes Guetzli, but there it is disabled by default and you will be warned, if you activate it.2 points
-
it's a really amazing module, and will be indispensable for any site using hanna codes, i can already see this solving major problems with users entering incorrect stuff into their hanna codes. the options and description stuff is also amazing work!2 points
-
I need to retrieve some data from an external API that uses Oauth 1.0 authentication. This is the first time I've needed to use Oauth so I'm looking for advice. Does PW have any built-in tools that help with retrieving data from an external API and using Oauth? WireHttp maybe? For doing the Oauth stuff is it sensible to use a dedicated library (like OAuth 1.0 Client from thephpleague) or is it easy enough with just the functions built into PHP and/or PW?1 point
-
1 point
-
I can second what @MuchDev said, but want to add that, for me, the cache field is/was yesterday. Today I only use the Textareas and Repeater Matrix from ProFields I try to keep the amount of fields as less as possible. Results in quick fulltext search without the need of a cache field, what would double the content size in DB. Really worth to use. Saves time too.1 point
-
Is $page->first means move page to first position? If so, wouldn't be a more descriptive name better, eg moveFirst or similar?1 point
-
Since I am the one guilty of adding UTF-8 support to WireMail, I could take an educated guess WireMailSmtp uses some external libraries that have evolved over the years and have their own routines to handle character encoding in address headers. I'll take a look at what is done differently there (I have an idea, but I'll have to run some tests to be sure) . In the meantime, if using wireMailSmtp is an option, I'd go with that.1 point
-
Hi @BitPoet I don't know how you knew about that, but you was right. Original fromName $mail->fromName(_t("Perfect Eyebrows — студия идеальных бровей")); I have been shortening it letter by letter and tracked it down to next result: In these cases I still get wrong result $mail->fromName(_t("еальных бровей")); $mail->fromName(_t("альных бровей")); but that one works $mail->fromName(_t("льных бровей")); So, it looks like there is some limitation of fromName length? But why it works with wireMailSmtp?1 point
-
In v0.0.2 I have added a hookable method that supplies the array of tag names for the dropdown menu. You can use an 'after' hook to control what appears in the dropdown. A couple of examples... Define the tags for a given template: $this->addHookAfter('HannaCodeDialog::getDropdownTags', function($event) { $page = $event->arguments('page'); // Show only these tags on pages using the 'basic_page' template if($page->template == 'basic_page') { $event->return = ['some_tag', 'another_tag']; } }); Remove certain tags for a given template: $this->addHookAfter('HannaCodeDialog::getDropdownTags', function($event) { $page = $event->arguments('page'); $tags = $event->return; // Remove these tags on pages using the 'basic_page' template if($page->template == 'basic_page') { $filtered_tags = array_filter($tags, function($tag) { return !in_array($tag, ['some_tag', 'another_tag']); }); $event->return = array_values($filtered_tags); } });1 point
-
1 point
-
Hi ! Please welcome https://www.docpaddock.com/en/ It's a brand new rebuild of an old project called Trajectons.com (not online any more). It's a competition of predictions. You have to guess some podiums in MotoGP/Moto2/Moto3 categories or F1 (I'm a MotoGP fan). You have a free plan, another one where you can buy an avatar generator, and a Pro one to unlock some cool features. I knew nothing about PW a few months ago and its community helped me a *lot*. I wouldn't have be able to do this without your help. So thank you and have a look if you're into that kind of sports competition You can still sign up before the first Grands Prix seasons : it starts this sunday (26/03).1 point
-
Also: https://processwire.com/blog/posts/introducing-a-new-processwire-site-profile/1 point
-
The "Tree" panel is already draggable here, and also the "View page" panel. But it's a different thing than in case of columns, here you only resize one element.1 point
-
I am glad that this project is helping ProcessWire getting more devs on board :). I just want to say that I wouldn't have been able to finish ProcessVue if it wasn't for the amazing ProcessWire community. I believe that the community truly is the biggest selling point for new users (like me). Before trying ProcessWire I used OctoberCMS for a while but when I was stuck I got 0 support from the forums, so...althought the CMS is based on the amazing Laravel framework, I just left! I think that ProcessWire is extremely powerful and flexible and with time will become the tool of choice for frontend developers, the new GraphQL module will also help on this direction. Droves of frontend developers are looking for a CMS like this, they just don't know it exists! The usual keywords they use when looking for a SPAs CMS is "Decoupled CMS" or "Headless CMS", and I believe that that's exactly what ProcessWire is for! Some frontend developers prefer to use NodeJS, but the learning curve is huge if you need it for a non trivial project, and the worst thing of all is that after two weeks ANY js tool you may have used is outdated. See for example how Angular has been replaced with React or Vue, and Gulp with Webpack. That doesn't mean that I am against improvements in this regard, I just feel that it's just too much for us poor frontend devs to cope with! ProcessWire is stable, easy to use and won't change API every week. BTW, after that I migrate ProcessVue to GraphQL I am also planning to add Auth0 login integration with JWT, as I think that login/signup is a common feature in SPAs. I am sure I'll have to annoy @Nurguly Ashyrov and the rest of ProcessWire community for getting it in sync with ProcessWire users, but the result should be quite useful1 point
-
I am happy it works now . The plan is to add support for all core fieldtypes. That includes RepeaterField also. I will try to keep everyone updated via this thread, and you can also keep with the changelog.1 point
-
I just finished a medium sized website/SPA using processwire and vue with vue router and vuex. Has lots of nice features like server side rendering, happy to share details with people if they'd be interested. Shoot me a PM.1 point
-
Hello Jozsef, for the generation of many large image variations, ImageMagick comes in handy. Of course you have to enable it first on your webspace, but most hosters have an manual for the activation, if they support it. Usually I visit the page I added images in to generate the variations. You could probably achieve this also by an hook. But for me it seems more natural to check the changes I made after saving a page. For the lazy loading of images in the front end, I can highly recommend using the plugin lazysizes. It is easy to setup, supports responsive images, background images and so on. There is also the module Markup SrcSet, which uses lazysizes. Regards, Andreas1 point
-
Or you could build a module like MigratorWordpress: https://github.com/NicoKnoll/MigratorWordpress that gets the Textpattern content and creates JSON that can be imported into PW. While it might be a little more work to build, it would be useful for other future users coming from TextPattern.1 point
-
You could always use an bootstrap script, which does connect to the Textpattern database, reads the data by mysql queries and then use the processwire api to fill those data into the pages you need.1 point
-
So, had same free time: https://github.com/NicoKnoll/TemplateEditor (just beta)1 point