Leaderboard
Popular Content
Showing content with the highest reputation on 10/10/2017 in all areas
-
https://www.baumrock.com/portfolio/event-voting-tool-social-impact-award/ Another nice little Showcase of what can quickly be done with Processwire I sponsored this voting tool for the Austrian Social Impact Award ceremony (https://socialimpactaward.net/) helping them to pick the winner of the audience voting. The site is based on the default UIKIT theme (obviously) and i basically just placed the logo + changed the colors. The site structure is also very simple, having only one parent to store all teams, one parent to store all votes and one page to show the results (to the admins): The Projects-Template stores some informations of the project and the vote-count: All the votings are single pages as well having only one checkbox, ensuring that every code can only vote once (every visitor got one code at the entrance): Votes are created via Tracy Console as easy as that: The hook that creates the passwords is also simple: /** * create unique code for voting */ $wire->addHookAfter('Pages::saveReady', function($event) { $page = $event->arguments(0); if($page->template != 'vote') return; if(!$page->title) { $rand = ''; while(!$rand OR pages("title=$rand")->count() > 0) $rand = randomPassword(); $page->title = $page->name = $rand; } }); And finally the check if the vote for this code is already done (inside the vote-template). the whole vote-template is as simple as that (thanks to the awesomeness of markup regions and functionsapi): <?php namespace ProcessWire; // handle votes (url segments) if($id = $sanitizer->int($input->urlSegment1)) { // if voting is locked redirect to thankyou message if($page->votingdone) $session->redirect($page->url); // else set voting $team = pages($id); if($team->id) { // increase voting for this team $team->setAndSave('votes', $team->votes+1); // lock this votings page $page->setAndSave('votingdone', 1); } } ?> <?php // if voting is done show thank you and lock page if($page->votingdone): ?> <region id="main"> <div class="uk-card uk-card-primary uk-card-body uk-width-1-1 uk-margin-small-top uk-text-center uk-border-rounded"> <h3 class="uk-card-title">Danke für Ihre Teilnahme!</h3> </div> </region> <?php return; endif; ?> <region id="main"> <div class="uk-text-center uk-margin-top"><?= $page->parent->body ?></div> <?php foreach(pages('template=team, sort=random') as $team): ?> <div class="uk-card uk-card-default uk-card-body uk-width-1-1 uk-margin-small-top uk-border-rounded"> <h3 class="uk-card-title uk-text-center"><?= $team->title ?></h3> <ul uk-accordion="collapsible: true"> <li> <p class="uk-accordion-title uk-text-center"><span uk-icon="icon: chevron-down"></span> Beschreibung anzeigen</p> <div class="uk-accordion-content"> <?= $team->body ?> </div> </li> </ul> <a href="<?= $team->id ?>" class="uk-button uk-button-large uk-button-primary uk-width-1-1 uk-border-rounded">Für dieses Projekt abstimmen</a> </div> <?php endforeach; ?> </region> I'm still impressed by ProcessWire and how much can be achieved with how little effort15 points
-
A client of mine was asking for a solution to send newsletter mails to a list of subscribers. I looked around for a module, but couldn't find any. Then I saw a screenshot on this blog post about UIKit update, and decided to recreate it. Huge thanks to @ryan for the inspiration. The module uses regular pages for building HTML content. These pages can be used to create a fallback link in emails (i.e. "Use this link if you can't view email properly"). During render it injects $page->mailerMode, which can be used to change page output between text and HTML, or to show a simplified, email only HTML output. Screenshots: Main screen is just a list of items. Create page: Module configuration page: During installation, module creates a page under admin for storing items similar to FieldtypeRepeater. It also creates some fields for storing mail info Todo: More testing Sending in batches (with a script that runs in background and real-time progress log) Plans: Integration with Mailchimp (for subscriber lists) Automation (as a separate module for creating email content pages) I'm hoping to complete and release the module in the following days. I think these features should be enough for the beginning, but I'm open to suggestions.9 points
-
Note: 100% Honesty no Bias I would say it takes much more to develop in WordPress than in Processwire, I will backup my claim with code examples and also various scenarios, before I came into Processwire, I was developing WordPress and really with minimal code , you can do alot in Processwire. Let's look at this now Scenario 1 Fetch Images for a specific Post This is how to do this in WordPress $thumb_ID = get_post_thumbnail_id( $post->ID ); if ( $images = get_posts(array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'numberposts' => -1, 'orderby' => 'title', 'order' => 'ASC', 'post_mime_type' => 'image', 'exclude' => $thumb_ID, ))) { foreach( $images as $image ) { and this is the equivalent in Processwire foreach($page->images as $image){ } You see the concept in Processwire is that everything is a page, so when you are in a Page, you get the neccessary information required for that page, However WordPress has a "Post Concept" and images are tied to the Media Library which is why you have to supply a post to fetch images. Scenario 2 List all Pages on the Site Now imagine you are looking to create a list of all your pages, this is what you will do in WordPress <?php /*pass your search string here example like this ( 's'=>'test' ) */ $args=array('s'=>'test','order'=> 'DESC', 'posts_per_page'=>get_option('posts_per_page')); $query=new WP_Query($args); if( $query->have_posts()): while( $query->have_posts()): $query->the_post(); { echo $post->post_title; echo $post->post_content; } endwhile; else: endif; ?> Now this is the same result in Processwire $pagesList= $pages->get("/"); foreach($pagesList as $page){ } Minimal PHP Knowledge and beautiful design, I can guarantee you within a week's practice you will be able to deliver something quicker, however some tasks might require additional time, but Processwire has been carefully designed to appeal to people, at a point I wasn't happy when it wasn't adopting Advanced concepts (FIG,PSR) but as I evolved i realized there's more to coding and that user adoption is important. Now let's forget the code let's look at Content management Now you want to create Website and let's assume in your case, it's a website about selling Boats (sorry that's what to mind), Out of the box for WordPress, unless you are creating a custom type, you can't fit that logic into WordPress as it's built around Posts and taxonomy, so you have to create a custom type and this involves codes, or install a plugin, whereas in Processwire you simply create a Page which holds Boat informations and create fields to accept relevant information. This is much more intuitive than WordPress, because in WordPress you might have to add it as a custom field which obviously involves coding again, or as usual checking to see if such a plugin exists, or the last option is to pray that someone builds a theme that involves selling of boats. Now this is the custom field in WordPress, however by default most of the custom fields in WordPress are Text input, during my previous experience creating a custom field other than text involves coding and obviously you know what comes next; installing a plugin again for another need. WordPress takes a lot of time, money and also very nerve wrecking, updating WordPress or the plugin is like russian roulette to me, I have to backup, and pray for the best, It's moments like this that I become very religious. And if something breaks I either have to fix the issue or revert, and sometimes the reason you are updating is because of security issues, so it's either breaking the site or getting hacked. Which means additional money for consultancy and it gets messier from there. I've been there and done that and I simply decided to migrate to another platform as WP wasn't worth my sanity. Processwire is good and the modules built are easy to use and configure, my favourite is the DatabaseBackUp without thinking too much you can easily understand your way around. In conclusion Processwire is good and easy to grasp, it might not be perfect and that's a good thing because it means there's room for improvement, and we are even lucky to have you around, as you can share how we can make Processwire more user centric and easy to use and also features can be created in modules to make PW a more robust system. I will link @Joss article TLDR: Processwire is easy to learn.9 points
-
7 points
-
I think that processwire is easier because I did exactly this comparison. Not with zero knowledge of programming, but zero knowledge of both CMSs. Tried with wordpress, got so fed up, switched to PW, made a site with everything I required in a month or so. I find the word 'easy' a bit misleading here. I found PW fitted in with my mindset a lot more than wordpress. The hierarchy, the realtionships between objects, everything makes more sense to me, therefore makes it easier understanding the API. I have no regrets at all about spending the last 15 or so months with PW I use it about once every two days. Since about 2010, I used Umbraco CMS (liked this), Drupal 7 (did the job), Craft CMS (liked this), Wordpress (tore hair out), then Processwire (love it!). Two things that stand out to me: 1) I can't give this forum and it's members enough credit for the help they have given. They are patient, very friendly, don't insult you when you ask beginner questions and you get replies so quickly. You can't even put a price on that IMHO. 2) My excitement and enthusiasm to web design has gone through the roof since starting PW because, at last, I have the confidence in being able to create whatever I want, with any design I want, using any framework (or no framework) I want. This is mainly because of (1) above. ...and @bernhard prefers making websites with processwire to flying a helicopter! Now that says how awesome it is6 points
-
You don't need to edit each template, and I don't think the permissions system is that hard once you understand that permissions can be inherited. Suppose you want your editor role to be able to edit, add and create children for all templates. You just edit the Home template, grant all the permissions to the editor role, and allow those permissions to be inherited. Now this applies to all pages using all templates, unless for a particular template you choose to "manage view and edit access permissions for pages using this template" and deliberately override the inherited permissions. I don't think it's right that the guest role doesn't need to be displayed anywhere. Revoking view access for the guest role in the template settings is how a page may be restricted to authorised roles only.6 points
-
A small addition to what @louisstephens suggested. You could also watch thoses videos to see how easily/quickly you can get a HTML theme working on ProcessWire.5 points
-
Thanks a million again One thing I've been struggling with ever since is these nice list of icons: I keep spending a lot of time hovering over them, waiting for the tooltip to appear, that is I cannot seem to learn what is what. Could you please provide an option to turn them into a simple vertical list of icons+labels?5 points
-
Major new version just released. There are quite a lot of changes and it fact it jumped two major point versions because I added two new panels. Here are the highlights! 1) New Snippets Runner panel - as discussed in the last few posts, this is similar to the Console panel, but all snippets are stored in the filesystem. By default they are stored in /site/templates/TracyDebugger/snippets/, but you can change that to /site/asets/TracyDebugger/snippets/ if you prefer. Running a loaded snippet grabs the latest version each time, so simply save in your code editor, switch to your browser and trigger Run. It has access to all PW variables and can reference the currently edited page etc, just like the Console panel. 2) New Request Info panel - this panel contains most of the info from the ProcessWire Info panel, but also adds the following: Server request (this is a dump of all items from $_SERVER Input GET, POST, & Cookies (these used to be in the Debug Mode panel, but I think this panel is more appropriate for them) PLEASE NOTE: This panel is set to be loaded by default when Tracy is installed, but if you are upgrading an existing Tracy install, you will need to manually add this to be loaded in the config settings. 3) Revised ProcessWire Info panel - this is now much simpler and now contains: API variables (with links to PW docs for each) Core classes (with links to PW docs for each) Config data (dump of $config var) Versions List (an easily copyable list of server and PW core and module versions) Admin Links (including Login, Logout, and Documentation Links 4) Revised Debug Mode panel - several elements moved to Request Info and ProcessWire Info panels. Most of these sections could justifiably belong on the Request Info panel, but I think you are less likely to use most of these on a regular basis - they are more technical than the sections in the Request Info panel. 5) Request Info and Debug Mode panels now load in Redirect and AJAX bars I limit the panels that show up on the Redirect and AJAX bars to ones that will have different content. For example, there is no point loading PHP Info, Captain Hook, etc for these additional bars. Part of my reason for splitting up the ProcessWire Info panel into the new Request Info panel is because there is no point having admin links etc being populated to the additional bars. So you'll see that the ProcessWire Info panel is not loaded for the additional bars, but the Request Info and Debug Mode panels are. Now you can see the details of each page request (whether it's a redirect or AJAX, or ordinary). The panel on the left is after a POST form submission on a regular PW page and the one on the right is an AJAX call to a non-PW PHP script which is why there is no "Page Info" section. In this case, you can see the details of the request via the "Server Request" section which shows: It also shows the GET and POST data for the request, and the edit link will open that /data/testajax.php file in your code editor. 6) Lots of other tweaks There are lots of other tweaks, but the one that might cause a few weird issues is the way the debug bar and panel styles are loaded. The Tracy core now makes this easier, but I have noticed some instances where the styles are not being applied. I think it always comes down to browser caching, but if you find that a hard reload doesn't fix things, please let me know and I'll investigate further. Feedback There are lots of changes in this version, so please let me know if you have any suggestions - did I mess with something that you loved, but now hate, or do you just have ideas for how something could be done better? Please let me know!5 points
-
Thanks for the thoughtful response. I would be intrigued to know a comparison, that if two people started from zero knowledge, whether learning Processwire would be any more difficult than learning Wordpress? One of the things that has attracted me to Processwire is that the forum is full of people who actually enjoy using it! The last time I enjoyed creating a website was in 2005 where I hand coded the site. Although Wordpress is ubiquitous, I don't meet too many people who seem to enjoy developing on that platform and I certainly do not. In the end I find that if I want to do anything well, it requires an investment of time. I'm hoping my investment into PHP and Processwire will give me back the enjoyment I had of developing websites.5 points
-
CKEditor fields are regular HTML strings, they're not evaluated as PHP. Even then, whatever you write in the field is encoded, so < and > for example will turn into < and > HTML escaped variants. Your problem can be solved easily with Hanna Code4 points
-
Hello @davede ... Maybe this profile will be good, to start with ... It looks different than the basic theme skeleton ... It has several sections such as Portfolio, News, Oerts, Contact Page ... SiteBs44 points
-
Welcome to processwire davede. Unfortunately, there currently is not a marketplace or library of themes available for pw. That being said, when installing a fresh install of pw, you do get several site profiles where you can dig around in the code. I do believe there is a uikit and bootstrap (4) site profile floating around here as well. One of my favorite things about pw is with just a few if/foreach loops and echo's, you can get a simple site going very quickly. This makes it super easy to integrate your own framework/css into the mix. This actually isnt a bad read through (in regards to making a simple "theme"): https://webdesign.tutsplus.com/tutorials/how-to-develop-a-processwire-theme--cms-256924 points
-
I am sure it will! The challenge will be if someone asks you to work on a project with something else4 points
-
The word "webmaster" is sooo 19904 points
-
Imo a newsletter module is very needed for PW so I hope your project will be successful. Here is a site profile that I used earlier for newsletters. It's very basic but perhaps you can get some ideas, eg using Emogrifier, preview newsletter with the View link in a panel, etc. https://github.com/rolandtoth/pwnl Some screenshots here:3 points
-
I think it is generally true that one can only "perfect" a profession while enjoying it. How else? That is why there is no need to compare WP and PW. If you are committed to learning PHP based web development, look no further, you are in the right place to get started. Seriously.3 points
-
Generally I agree with @Robin S's comments to you about inheritance of roles - that should usually take care of things without the need to edit template's access settings. It sounds like in your case inheriting everything from the home page template down will do what you want. However, just in case you do ever need to make lots of change to multiple templates, this can help - it's from the AdminActions module.3 points
-
I have done this with an after hook on Password:setPass and you just need to grab $event->arguments[0]; https://github.com/adrianbj/EmailNewUser/blob/324e33730efc7e0431216a95c35ad8b8e27a013a/EmailNewUser.module#L563 points
-
Hook before/after Password::setPass() method instead? Keep in mind that this hook is called before page publish (while setting value for a password field) /** * Set the 'pass' to the given value * * @param string $value * @throws WireException if given invalid $value * */ protected function ___setPass($value) { // if nothing supplied, then don't continue if(!strlen($value)) return; if(!is_string($value)) throw new WireException("Password must be a string"); // first check to see if it actually changed if($this->data['salt'] && $this->data['hash']) { $hash = $this->hash($value); if($this->isBlowfish($hash)) $hash = substr($hash, 29); // if no change then return now if($hash === $this->data['hash']) return; } // password has changed $this->trackChange('pass'); // force reset by clearing out the salt, hash() will gen a new salt $this->data['salt'] = ''; // generate the new hash $hash = $this->hash($value); // if it's a blowfish hash, separate the salt from the hash if($this->isBlowfish($hash)) { $this->data['salt'] = substr($hash, 0, 29); // previously 28 $this->data['hash'] = substr($hash, 29); } else { $this->data['hash'] = $hash; } }3 points
-
Here's a sample Hanna code that you can use in text fields as [[include file=test]] where `test` is a php file at templates/includes/test.php. <?php namespace ProcessWire; // test.php echo 'hello'; ?> <p>regular html</p> Hanna Code definition is just these lines: <?php $file = "{$config->paths->templates}includes/{$file}.php"; if (file_exists($file)) include $file; Or use this to quickly import into your setup !HannaCode:include:eyJuYW1lIjoiaW5jbHVkZSIsInR5cGUiOiIyIiwiY29kZSI6Ijw/cGhwXG5cbiRmaWxlID0gXCJ7JGNvbmZpZy0+cGF0aHMtPnRlbXBsYXRlc31pbmNsdWRlc1wveyRpbmNsdWRlfS5waHBcIjtcbmlmICghZmlsZV9leGlzdHMoJGZpbGUpKSByZXR1cm47XG5cbmluY2x1ZGUgJGZpbGU7In0=/!HannaCode2 points
-
Thank you guys for replies. I will take a look at them2 points
-
Guys, could be related to this ? (the last updated answer)2 points
-
2 points
-
Why not use a variable defined in the module class, eg: protected $clearPassword and populated via: $this->clearPassword in the hook's function. This will be available throughout the module's functions. This is what I did in my EmailNewUser that I linked to above.2 points
-
i think the superuser name is much better than webmaster: https://en.wikipedia.org/wiki/Superuser and i think once you got some experience using permissions everything should be quite clear. i think my learning curve was: create an editor role assign page-edit permission try to edit a page... why does it not work? ah, i have to set the permission on the template level (meaning i can control it on a template level) ah, i can inherit to all child pages done i think that's not too hard for someone wanting to work with user permissions2 points
-
@abdus Handling modules is realm of the superuser as one can potentially break lots of things there. If you need non-superusers to edit module settings I'd create a custom process module, which does handle changing the module config in a more secure way with validation of changes and alike.2 points
-
Simply create a new role, and assign only the permissions you want to that role. If you have existing super-users, change their role to that new "not-so-super-user" role2 points
-
Move the output of the continent div tag (and its end tag) outside of the loop over its countries.2 points
-
Sites Manager 16 September 2018: FOR NOW, PLEASE DO NOT USE THIS MODULE IN A PRODUCTION SITE. A RECENT ProcessWire UPDATE HAS BROKEN THE MODULE. I AM WORKING ON A FIX. ################ Sites Manager is a module for ProcessWire that allows Superusers to easily create/install ProcessWire sites on the same serverspace the module is running in. Only Superusers can use the module. You can create both stand-alone and multi-sites. Single/Stand-alone Sites Stand-alone or single-sites are sites that will run in their own document root/directory with their own wire and site folders, .htaccess, index.php, etc. In other words, a normal ProcessWire site. Multiple Sites Multi-sites are sites that will run off one wire folder (shared amongst two or more sites) each having their own site folder and database. In this regard, it is important to note that Sites Manager is not in itself a multiple sites solution! Rather, it is a utility that helps you create multi-sites to be run using the ProcessWire core multiple sites feature. For more on this core feature, see the official ProcessWire documentation, specifically the solution referred to as Option #1. Option #1 approach requires the site admin to initially install ProcessWire in a temporary directory for each new site. The directory then needs to be renamed as site-xxx, where ‘xxx’ is any name you want to use to differentiate the installation from other sites, before it is moved to the webroot. For instance, site-mysite, site-another, site-whatever. In addition, the /wire/index.config.php file must be copied/moved to the webroot. Each time a site is added, the index.config.php has to be edited to add ‘domain’ => ‘site-directory’ key=>value pairs for the site. This process can become a bit tedious. This module aims to automate the whole multi-site site creation process. The module is based off the official ProcessWire installer. Creating a site is as simple as completing and submitting a single form! You also have the option to type and paste values or reuse a pre-defined install configuration. The module will: Install a ProcessWire site in your named directory, applying chmod values as specified Move the directory to your webroot Update/Create a Superuser account as per the submitted form, including setting the desired admin theme and colour For multi sites, update sites.json (used by index.config.php to get array of installed sites) For multi sites, the only difference in relation to the core multi-sites index.config.php is that this file is slightly different from the one that ships with ProcessWire. Download from GitHub: Sites Manager (Beta Release) Features Install unlimited number of sites in one (multi-sites) or independent (single-site) ProcessWire installs. Install by completing a Form, Typing or pasting in configurations or using pre-created install configurations. Choose an Admin Theme to auto-install along with the site installation. For single-sites installation, download, save and reuse ProcessWire versions of your choice. Install and maintain site profiles for reuse to create other sites. Create install configurations to speed up installation tasks. Client and server-side validation of site creation values. Edit uploaded profiles (e.g., replace profile file). Lock installed sites, configurations and profiles to prevent editing. Bulk delete items such as site profiles, installed site directories and/or databases (confirmation required for latter two). View important site details (admin login, chmod, etc). Links to installed sites home and admin pages. Timezones auto-complete/-suggest. Pre-requisites, Installation & Usage Please see the documentation. Technicalities/Issues Only Superusers can use the module. ProcessWire 2.7 - 3.x compatible Currently using ProcessWire 2.7 installer (install.php) For multi-sites, potential race condition when sites.json is being updated on a new site install vs. index.config.php accessing the json file? Not tested with sub-directory installs (for instance localhost/pw/my-site-here/) Currently not doing the extra/experimental database stuff (database charset and engine) Future Possibilities Install specified modules along with the ProcessWire install Profile previews? Credits @ryan: for the ProcessWire installer @abdus: for the index.config.php reading from JSON idea @swampmusic: for the challenge Video Demo Demo showing how quick module works on a remote server [YMMV!]. Video shows downloading and processing two versions of ProcessWire (~takes 7 seconds) and installing a single/stand-alone ProcessWire 3 site using the new Admin Theme UI Kit (~2 seconds) on a remote server. Screens 1 21 point
-
Yeah, it is certainly up there Glad it's working well for you. The focusing of the Run button was initially to help with helping target the eventListener for the keyboard shortcut, but I found what I think it a better way without having conflicts if both the Console and Snippet Runner panels are open at once. Even after figuring this out, I decided to keep the focus of the Run button as a visual reminder that loading != running. Let me look into this - should be a pretty simple fix.1 point
-
Wow, bumper update! Aside: I wonder which PW module has the highest version number? Tracy must be leading the field in terms of number of releases in any case. The Snippets panel is great - just what I was hoping for. Really handy having the keyboard shortcuts for run, and it's neat how the Run button gets focused after loading a snippet too. One thing though: would it possible to allow a namespace declaration inside snippets? I need that for IDE code completion but when I include it I get... Maybe Tracy could strip out any namespace declaration on the first line when it runs the snippet?1 point
-
1 point
-
Thanks @tpr , it looks quite useful, I'll be sure to check it out.1 point
-
like poking a bear, how we supposed to know any of this?! I don't get any inputfields for text, but i do for textarea. How would i add one for text, or any other fieldtype , and is there any docs on this would be the actually question i guess... super infuriating.1 point
-
maybe a nice showcase of what can be done with processwire with VERY little code1 point
-
Yes, wasn't the best example I didn't know it was a reserved word at the time and had changed it since. @Missariella I'm with you now on your issue. I have the same with the redirect, just never noticed, works fine without it. I tried some jQuery to redirect after form submit but I'm not sure how to do this with PHP tbh. Probably need another member to chime in here. I tested by: print_r($v->data()); // Array ( [name] => Sam [email] => [message] => ) $session->flashMessage = 'Please fill out the fields correctly.'; ...then: print_r($v->data()); // no output $session->flashMessage = 'Please fill out the fields correctly.'; $session->redirect($pages->get($contactPageID)->url . "#form-top"); So I'm stuck too basically. ==EDIT== Just had a thought. Maybe you could add the sanitized values to the whitelist, then retrieve them from that when required: https://processwire.com/api/ref/input/whitelist/ I used this to remember values from a bunch of select lists which then had to be displayed after a form submit (which went to a different page).1 point
-
1 point
-
This topic has some discussion:1 point
-
The superuser is like it's names suggests super. It's like the admin user you get in each other system out there. There aren't any access restrictions on that role. It's meant for the people developing the website and should not be used for content-creators. Also it wouldn't make much sense to add access restrictions to an user, which most likely has access to any configuration files as well as the database behind the website.1 point
-
https://processwire.com/talk/topic/1829-hosting-for-pw-sites/ https://processwire.com/talk/topic/10421-hosting-recommendations/ https://processwire.com/talk/topic/10538-good-shared-hosting/1 point
-
That is the expected behavior of the session API variable. It would be best not to use the user variable, because it is a reserved variable. Better would be to just name it something like for example $name. If you get the post value of the input field by the same name after submitting the form, the value should only be outputted for only one page load.1 point
-
You cannot do that because a superuser is the "web master" in ProcessWire. Just do not give this role to anyone except yourself, create roles for others and you "are done" Seriously, see this discussion, for example: https://github.com/processwire/processwire-issues/issues/3711 point
-
the latest weekly.pw had a survey about that topic: i'm on self-managed VPS using plesk as controlpanel. current pricing is 15€ for 2core / 4GB / 150ssd / 10 domains or 30€ for 4core / 8GB / 400ssd / 30 domains i tried several other options over the last months ( digitalocean self managed, cpanel, laravel forge, serverpilot ) but i came back to vps + plesk because it is quite easy to use (for me as a non expert) but also offers a lot of freedom if you need advanced stuff (having full ssh access). all the other solutions where always lacking some parts and would have made another service necessary (like backups, for example). looking forward to hearing other experiences1 point
-
I was a little hesitant to reply at first because I am a newbie to Processwire, also coming from a Wordpress background. However, I thought on the other hand, perhaps my point of view (similar to your background @svsmailus) is exactly one of the points of view you might want to hear from, in addition to those from experienced users. I would classify myself as mostly a non-coder, however from customizing minor stuff on WordPress over the years, I've managed just fine starting out in Processwire, so if that's you then you would be fine too. Learning-wise, I picked up what I needed to know as I went. I am still learning as I go. It all comes down to what you want to do with your site. I don't have the know-how to create a fancy site with lots of user input or advanced features like that, but on the other hand I needed something beyond a standard blog, with a totally custom layout and customized data fields; all of which I couldn't achieve on my own in WordPress. People have been helpful on the ProcessWire forum and usually I can find what I need by searching, and upon asking a question I got some really great answers, one of them with code shown that I could (and did) use and which proved super-helpful for my custom needs. All that being said, it is a bit more of a learning curve in Processwire and yes you do need some basic PHP (although so far I haven't used much more than echo statements and if...then statements), and a few chunks of HTML and CSS. I've never used the blog module for PW so I can't comment about that. Instead I created my own theme files (I actually based them off the free responsive W3 CSS templates) and made a page template of basic-post which consists of a navbar, a header, the page content, and footer, so it's pretty simple. That could be a great place to start. To begin with I added in some custom fields like featured image, and a check box for if I wanted to display the image on the basic-post template (this allows me to toggle on/off the display of featured image at the top of the article, for example I like to toggle that off if the body of my article is already image-rich). I was able to add to my layout as needed and put my extra customizations and extra display fields in. Overall, from the beginner's point of view, as a beginner myself to ProcessWire, I wholeheartedly agree with what @Peter Knight said. The way he suggested is how I happened to do it myself and I can already see how powerful and un-bloated ProcessWire is (compared to Wordpress). It's also actually fun! I also agreed with what @louisstephens and what @adrian said (and many others too; those two just stood out) in that as a beginner you don't actually NEED a whole lot of PHP at all besides echo, if-then, and foreach.1 point
-
Simply put: a field is an interface to DB, an inputfield is an interface to user. One does not necessitate the other, but for some complex data types, you may need to build a custom inputfield (like MapMarker). If you're going to store information about multiple books on a single page, then you need to extend FieldtypeMulti class (FieldtypeEvents, FieldtypeNotifications, FieldtypeComments for example), to store information about a single book per page, you need to extend regular Fieldtype class (FieldtypeText, FieldtypeDatetime etc). If you want to allow more than 1 property to be used in selectors, then you need to use multiple table column in DB. This means you need to override getDatabaseSchema() method and specify a more complex table structure. Edit: Based on your description, you expose only one input to the user for ISBN/title, filling the rest is up to you (by fetching from a web service). You have two options: either fetch the data using fieldtype or using inputfield. Using inputfield to do fetch the rest of the data sounds more appropriate, because the purpose of the fieldtype is validation, formatting, sanitization querying and saving data from/to database, i.e. it only deals with the given data. An inputfield, however, collects and prepares all data that needs to be written to the database and presents it to a fieldtype.1 point
-
It looks like ProcessPageEdit does not use the addActionValue() method but builds the dropdown independently: https://github.com/processwire/processwire/blob/3fc9f69da75e1bc4a3f0842f12a57bd6a1b65099/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module#L454-L491 Doesn't seems like it would be easy to modify that - probably via JS would be the only way. Maybe you could open a GitHub request asking to make it easier to modify that dropdown menu.1 point
-
Hi, I Installed the "AutoExportTemplatesAndFields" and when creating repeater fields the module was affecting the fields editing. I had two repeater fields: "repeater1" and "repeater2", the "repeater1" should repeat the "images1" field and the "repeater2" should repeat the "images2", the problem was each time I edited one of them and change the repeated field the other assumed that modification. Example: editing the "repeater1" and change the field to "image3" the "repeater2" instead of having the "image2" has the field to be repeated assumed the field "image3". After uninstall the "AutoExportTemplatesAndFields" module I could edit each repeater and assign different fields to them. I hope you can find the issue it is a great module to use. Thank you.1 point
-
Oh well, I was so close to the solution: As I said, it was my 'repeater_masterheadCarousel' - template!, which needs view and edit rights - not (only) the field: 'masterheadCarousel'. But this is an system-template, so you have to turn on, the option in the Setup/Templates: Filters / 'Show system templates?' Yes! Hope it helps someone else . Tiak1 point
-
Yep! Admin, just like everything else, is a page. So, if you click on Admin on the pages list, edit and then go to settings, you will see you can change the name (and therefore the path) just like any other page. You will need to log back in after, and don't forget what you changed it to!1 point