-
Posts
1,473 -
Joined
-
Last visited
-
Days Won
16
Everything posted by Ivan Gretsky
-
Gutenberg For ProcessWire ?!
Ivan Gretsky replied to Mustafa-Online's topic in Module/Plugin Development
Hey, @teppo! Last night I spent a few hours reading through Gutenberg docs and marketing materials. I must say those are very well written and the whole concept is appealing to me. But it seems to be coupled with Wordpress and not so easy to bring into ProcessWire. I know, there is a Drupal integration and the "editor for the open web" marketing stuff. But it still seems to me it is primarily for Wordpress for now. I am talking not about those static html type blocks with defined styling, but rather those they call dynamic, which use data stored in the database. I wish we could have an editor like Gutenberg (in tearms of UI) in PW where we could easily create static and dynamic (based on other pages) content for a content area. And we could easily add blocks ProcessWire way and maybe even be able to render them with ProcessWire or ProcessWire-like API. Kind of like a mix of Gutenberg and Repeater Matrix. I can see that as an Inputfield that could generate json data describing content and store it in the textarea fieldtype. Same way as Gutenberg does store its data as html+comments. Same way as CKEditor 5 seems to work. To generate that json we would need some kind of a an SPA editor with visual block representation. And GrapeJS seems to provide that type of functionality, calling itself a Web Builder Framework. I can imagine we could build whatever UI we need with it and add only what we need (no paddings, but rather a data description - look here). Maybe it will turn out GrapeJS does not do just that, but that's what I'm talking about)) And then we could query this field from PW template like foreach ($page->grapenberg_field as $block){ wireRenderFile("views/blocks/{$block->name}"); } $block could be a new virtual page-from-json type and/or a Page. -
Gutenberg For ProcessWire ?!
Ivan Gretsky replied to Mustafa-Online's topic in Module/Plugin Development
I think this one is pretty popular and powerful. Just to provide an alternative)) -
Hello! This field holds 3 pieces of data. The address, longitude and latitude. The latter two are numerical data which does not need translation. The address field is what is send to Google to get the coordinates. I do not think there is an easy way to make it multilingual (it is not now as far as I know). But there is always a way to store multilingual address information in other fields of the same page, and use this information to generate marker descriptions (for example) for each language needed.
-
That was it! Thanks, @kongondo!
-
Good day everybody! When I think about TracyDebugger, I always think about the invaluable functionality of this must-have module. But yesterday I had a new impression about TracyDebugger - its super appealing design (in places). I was installing Tracy on a new site and was astonished by the new look of a "Donate" button in the module config. It is super simple and probably even a standard PayPal button, but it's placement and a color contrast just struck me. I could not resist, clicked the button and made a $10000 donation. This is by far less than the value this module gives me, so wanted to give something back (and the magic button did its job, of course). But must be something with PayPal in Russia that it only let $5 of my donation pass though ?. So I suggest everybody go look at this button in the TracyConfig to learn some useful marketing tricks. And if you happen to be somewhere outside Russia please click on it and try to make a more than $5 donation to check, if the same limits apply in your country. So we can report to PayPal or something)))
-
Good day @kongondo and everyone here! I am trying to get my menus with MenuBuilder to work, but having some strange issue. This is my code: <?php namespace ProcessWire; $menuBuilder = $modules->get('MarkupMenuBuilder'); $mainMenuLeft = $menuBuilder->getMenuItems('main-menu-left'); bd($mainMenuLeft, '$mainMenuLeft'); And this is a screen of MenuBuilder admin page: The problem is I get 0 items. And only if I add the homepage I get 1 (and this is the homepage). Either I am doing something wrong or something got broken) Please help me!
-
I think this one of the most massive discussion about the project architecture I have ever read, featuring so many respected forum members, should not be left unanswered by the project lead. So feel like we need to bring it back up and ask @ryan to participate.
-
Unordered List to Pages: action for Admin Actions
Ivan Gretsky replied to Robin S's topic in Modules/Plugins
Good day, @Robin S! Starting a new site. Creating structure with this module is really a breeze! Thanks! I have spotted a minor inconvenience when preparing a list in a test editor and pasting it into the Source inputfield. The text editor (or is the inputfield itself?) is adding <p> tags around the <li> contents. And this leads to creating 0 pages. Would be awesome to clear all markup but the ul>li before processing. -
Good day, @kuba2! I am building ProcessWire site locally with xampp. I have a lot of code just like yours and it works fine. There is probably something else, that you did not spot yet. Please post exact error you get and anything else you think could be useful to resolve the issue.
-
Inputfield: Repeater Matrix Item Duplicator
Ivan Gretsky replied to David Karich's topic in Modules/Plugins
I have started a topic in Repeater Matrix closed support board with a request to make it possible to override InputfieldRepeaterMatrix::renderFooter method in a hook. This way we can probably implement any kind of add content type design without css overrides.- 33 replies
-
- 4
-
ProCache can do less compilation. This is what Ryan uses to compile UIKit on the new PW site (he seems to be using sass version, but less is said to be supported as well). Consider buying it to support ProcessWire development.
-
The cheatsheet is missing on the new site. Is it by plan or by accident?
-
Ok, I probably messed up a few times, but to give an idea of how it could be done (not tested, maybe not the fastest nor the most beautiful code): <?php // Get all the blog posts with blog_post_fav and blog_post_favs unchecked $pageArrayToPrepend = $pages->find("template=blog-post, blog_post_fav=0, blog_post_favs=0, blog_post_sticky!=1"); // Add all posts with blog_post_fav checked without the 1st one $pageArrayToPrepend->add($pages->find("template=blog-post, blog_post_fav=1, blog_post_sticky!=1, sort=-blog_date")->slice(1)); // Add all posts with blog_post_favs checked without the 1st two items $pageArrayToPrepend->add($pages->find("template=blog-post, blog_post_favs=1, blog_post_sticky!=1, sort=-blog_date")->slice(2)); // Remove duplicates $pageArrayToPrepend = $pageArrayToPrepend->unique(); // Sort and limit $pageArrayToPrepend->filter("sort=-blog_date, limit=" . $blogSettings->blog_quantity)); // Prepend $cards (is there anything in $cards, maybe this is useless variable?) $cards->prepend($pageArrayToPrepend); $pages->find returns a PageArray which inherits WireArray with a bunch of useful properties. Read here https://processwire.com/api/ref/wire-array/
-
I am tying my best to understand what you are tying to achieve, but still do not understand what you're after. Please explain yourself better. The only thing I can suggest now is maybe not doing it all in one selector... <?php $cards->prepend($pages->find("selector1")); $cards->prepend($pages->find("selector2")); // or a one-liner with a fluent interface $cards->prepend($pages->find("selector1"))->prepend($pages->find("selector2"));
-
So If this topic exists, I think I need to mention a fully open source alternative. It is not as mature yet though. It is an app from the developers of ERPNext.
- 1 reply
-
- 4
-
Maybe a good time to write your own module and become famous)) They got lots of ready made classes in their plugins for other systems to start with.
-
Languages are Pages in PW (like almost everything else). A user viewing any page in multilanguage environment has a language property attached (see here). So you can do it like this: <?php if($user->language->name != 'default') { echo 'Hello, multilanguage world!'; } You can use $user->language->id if you want.
-
I have to agree with you @diogo, we probably lost this one. But there are many more of them out there coming in here. So putting a smile on, checking if API reference tab is open and back to the keyboard to complete our mission))
-
Hey @trowtlip! I like the idea of ProcessWire also! First, could you please give a link to the module you used. There are a few of the similar ones.
-
It might be @Nvim is a troll, an AI bot or just someone not polite. We should treat them accordingly as soon as we find that out. But they might as well be someone very new to web development, forum software and even English language. I would presume Nvim innocent for now ? (after reading his other posts). It is more about our community spirit than about someone else) So until some of you moderators ban him, he is a proper forum citizen, I guess)) Come on @Nvim, give me some likes for defending you (and @BitPoet and everyone else you received some good answers from) by clicking the heart icon in the lower right corner under a post. Prove your good will ?. Install Codelobster or whatever you choose and try out ProcessWire, the favorite CMS of this forum members and simply put the best one in the world at the time of writing. P.S. Forum search is still broken by design, so more duplicate beginner questions will come)
-
There are plenty of similar topics, you can post (and read!) there. https://processwire.com/talk/topic/3518-what-ide-do-you-utilize/ https://processwire.com/talk/topic/18009-recommended-php-editor-or-ide/ https://processwire.com/talk/topic/17550-visual-studio-code-for-processwire-developers/ ... (use Google based search instead of a built-in one) Do not know nothing 'bout Codelobster. I use VS Code for now.
-
Hey, @jrtderonde! If you have some money to spend, maybe you could approach @dadish and hire him to modify his GraphQL for ProcessWire module to handle Repeaters and Repeater Matrix fields? If you decide to make it open source, this would be an amazing contribution to the community. I also tend to use the RepeaterMatrix as a flexible content builder ?. Suggesting this because you talking about agency and long term plans.
-
Never done it, but think it should be done like this or something... If there will be a number sites on one server which would require different locales it might be a better solution to set it in config.php for each one though.
-
Do not agree with you, @bernhard for a couple of reasons. 1. Choosing ProcessWire over WordPress or some other more popular solution is a hard decision. It is often made because of this forum friendly support before one finds the beauty and power of the system. 2. Every answer we post here helps someone who googles for it later. And even answering the same questions later in time helps to prove the answers still exists and there are people still caring to answer. And often there are more new ways to solve the already solved problem, so the got to be mentioned in this forum. I can see @Nvim came here to learn about ProcessWire, to compare it with other solutions he knows about. Just maybe in a year or two he (or she?) will be the author of a new e-commerce module for PW, who knows)) If he does not stop here, the discovery of ProcessWire may become the beginning of one of the most exciting adventures for him (her?) as it was for me and so many others here, who perfectly know and have used systems like WordPress, Drupal, Joomla or MODx.
-
I thought it would be vice versa: integrating some king of e-commerce/shopping cart functionality into PW. So many ways to handle things!