Leaderboard
Popular Content
Showing content with the highest reputation on 03/19/2013 in all areas
-
We just launched a new e-commerce website built off of ProcessWire. We worked off of Apeisa's shopping cart module as a base and were able to get the system integrated with Authorize.net's DPM for payments. We had a to do a lot of custom programming for this client as they needed sales tax, promo codes, and different shipping rates for different zip codes. I was delighted throughout the whole process with how much I was able to tailor the editing experience for the client as well as the visitor's experience on the page. The client had several last minute requirements which we would never have been able to implement in the time we had if we were using a different CMS and didn't have PW's API and custom field system. I would like at some point to release some of the new shopping cart code (shipping rates by zip code, sales tax, promo codes) to the rest of the community, but as it stands it's not modularized/generic enough and the code is in too many different pieces to make it practical. If I have time outside of work I will try to see if I can make it more distributable so that I can give back something to PW Special thanks to Apeisa for his input when we were getting started with this. http://www.harkenslandscapesupply.com/3 points
-
Guys, try to keep other languages than English, PHP and Klingon on translation forums. It is little bit frustrating for us who read all unread topics.3 points
-
Comitted a new version to GitHub. There are no new "must-have" features, it was more refactoring the code with some small improvements: Use my own (lightweight) class to query the stats instead of the bloated google api php client Removed config options not really necessary for simpler setup: Developer-Key, Redirect-Uri Use "MarkupAdminDataTable" to generate the tables - they integrate better in other admin themes Custom date range bypasses caching of the regular date range - no need to "clear the custom date range" Added option to clear the statistics cache under the options tab Added some more comparisons to the previous date range So it's up to you if you want to update Important If you update, you need to revoke authentication and choose the Google Analytics account again. Check "Revoke Authentication" in the module's config and save, visit the Google Analytics page and click "authenticate". Then choose the account again.3 points
-
You have written contest_photo instead of contact_photo at the beginning. Not sure if this solves your issue. Sorry on mobile...2 points
-
I have added the sharpening and quality-select to Thumbnails-Module2 points
-
No problem. It looks like you had it sorted in quick time anyways Just in case you haven't figured it out the difference between $page and wire('page') yet, there is a little explanation starting at this comment: http://processwire.com/talk/topic/3056-cant-use-input-urlsegment1-in-a-function-is-this-my-php-weakling-status-showing/?p=30044 As Ryan notes, wire('page') can be used anywhere, but is necessary inside a function due to variable scope. Generally though it is a little shorter to just use $page when you can.2 points
-
To make this more real world code. It's best practice to better check if there really is children and images if ($page->child->id) { // at least one child page viewable (access), access save foreach($page->children as $selectedthumbs) { if(!count($selectedthumbs->selectedimages) continue; // no image found continue foreach $firstimage = $selectedthumbs->selectedimages->first(); $thumb = $firstimage->size(100, 100); echo "<a href='{$selectedthumbs->url}'><img src='{$thumb->url}' alt='{$firstimage->description}'></a>"; } } You can also use the fast check if($page->numChildren) {... But it's not access aware and also includes unpublished pages. BUT it's faster than for example if($page->children()->count()){ .. If you have 1 million children (cite Ryan) it would matter and children->count() example would get slow. So what if I numChildren() returns true but there's no page viewable by the visitor? It doesn't matter if you only output something inside the foreach(...), because there you use $page->children which does only return pages published and viewable pages. But this could leave you with empty UL's: if ($page->numChildren) { echo "<ul>"; // this may output even if the following foreach doesn't find children foreach($page->children("limit=25") as $child) { echo "<a>$child->title</li>"; } echo "</ul>"; // this also } End of lesson.2 points
-
2 points
-
Hi! Just finished my first module This module adds a new "Google-Analytics" Page in your Admin-Panel and displays various Statistics from a Google Analytics Account. It uses the JQuery plugin "jqplot" to display the charts. Github: https://github.com/w...GoogleAnalytics Modules directory: http://modules.proce...ogle-analytics/ Features Visits by Date (Chart) General Statistics about Visits (Total visits, Visit duration, New visitors, Returning visitors etc.) Demographics: Countries, Cities, Languages System: Browsers, Operating Systems, Screen Resolutions Mobile: Operating Systems, Screen Resolutions Pageviews by Date (Chart) Top Content Traffic Sources: Keywords, Referral Traffic by Domain and URI Choose a default date range displaying statistics: last 24 hours, 2 days, 1 week, 1 month etc. Custom date range by setting a "start date" and "end date" Requirements Google Account and Analytics Account A Project in the Google APIs Console cURL Installation 1) Create a Project in the Google APIs Console: Create a new Project in the APIs Console: code.google.com/apis/console/ Under Services, enable the Analytics API Under API Access: create an Oauth 2.0 Client-ID Give a Product Name, choose "Web-Application", Domain doesn't matter Enter a Redirect URI to the GA-Page in your Processwire Installation: http://yourdomain.com/processwire/google-analytics/ Notes: The redirect URI must exactly match with the URL from the new "Google Analytics" page in Processwire. Open the Page and copy the URL from the address-bar (localhost does work too!) The project created in the APIs Console can be reused for every Processwire installation using this module. You just have to enter more redirect URIs 2) Install the module: Place the module's files in /site/modules/ProcessGoogleAnalytics Install the Module via the Admin-Panel Enter Client-ID and Client-Secret keys from the created project in the module config Load the newly created page "Google-Analytics" and click on the button "authenticate" Grant the module access to the Analytics Data Choose a Google Analytics account (Domain) from the dropdown Done: You should see the statistics. Check out the module config options for further customization In order to let other users see the Google Analytics page, you must give their role access to the "ga-view" permission. Ps. Processwire is awesome and so is this community!1 point
-
Introducing MetroWire, a little theme I've been working on and using in personal projects for which was once inspired by "metro" styling and to which now I can't think of a better name for. DOWNLOAD http://modules.processwire.com/modules/metro-wire/'>Modules Directory Listing SCREENS!! Login Page Tree Templates Page Customise the colors! (for those of you familiar with less. Change the "@adminAccent" colour variable in "templates-admin/styles/less/vars.less" and compile to customise the main colour to whatever you like!) Hopefully at some point I can integrate the compiling and even give users the ability to choose their colour... fun! Hope you guys enjoy this, thanks for taking a look if you do! I also did a Tweak to the AdminBar to match my theme more closely (hopefully Apeisa doesn't mind), and did some naming changes to solve a conflict I had on a project that used Bootstrap AdminBar-TWEAK.zip1 point
-
For those of you who like the module Wanze did, but want to use Piwik like me I Started to port his Module into a Piwik driven module today. If Wanze could stop adding features like a boss, I'm probably finished by Friday and upload it to the modules section. The module will do pretty much the same, in first release there is no 'change date range' option, but I will add this feature definitely. Anyone don't know what I'm talking bout? Watch the Screenshot1 point
-
Hey all, I've converted the ProcessWire 2.3 rules to Nginx. Hope this will help some people Greetings, Niek server { listen 80; listen 443 ssl; root /var/www/example.com/public_html; server_name example.com www.example.com; ssl_certificate /etc/pki/tls/certs/example.com.crt; ssl_certificate_key /etc/pki/tls/private/example.com.key; client_max_body_size 50m; access_log /var/www/example.com/_logs/access.log; error_log /var/www/example.com/_logs/error.log; # ----------------------------------------------------------------------------------------------- # Set default directory index files # ----------------------------------------------------------------------------------------------- index index.php index.html index.htm; # ----------------------------------------------------------------------------------------------- # Optional: Redirect users to the 'www.' version of the site (uncomment to enable). # For example: http://processwire.com/ would be redirected to http://www.processwire.com/ # ----------------------------------------------------------------------------------------------- if ($host !~* ^www\.) { rewrite ^(.*)$ $scheme://www.$host$1 permanent; } # ----------------------------------------------------------------------------------------------- # Access Restrictions: Protect ProcessWire system files # ----------------------------------------------------------------------------------------------- # Block access to ProcessWire system files location ~ \.(inc|info|module|sh|sql)$ { deny all; } # Block access to any file or directory that begins with a period location ~ /\. { deny all; } # Block access to protected assets directories location ~ ^/(site|site-[^/]+)/assets/(cache|logs|backups|sessions|config|install|tmp)($|/.*$) { deny all; } # Block acceess to the /site/install/ directory location ~ ^/(site|site-[^/]+)/install($|/.*$) { deny all; } # Block dirs in /site/assets/ dirs that start with a hyphen location ~ ^/(site|site-[^/]+)/assets.*/-.+/.* { deny all; } # Block access to /wire/config.php, /site/config.php, /site/config-dev.php, and /wire/index.config.php location ~ ^/(wire|site|site-[^/]+)/(config|index\.config|config-dev)\.php$ { deny all; } # Block access to any PHP-based files in /templates-admin/ location ~ ^/(wire|site|site-[^/]+)/templates-admin($|/|/.*\.(php|html?|tpl|inc))$ { deny all; } # Block access to any PHP or markup files in /site/templates/ location ~ ^/(site|site-[^/]+)/templates($|/|/.*\.(php|html?|tpl|inc))$ { deny all; } # Block access to any PHP files in /site/assets/ location ~ ^/(site|site-[^/]+)/assets($|/|/.*\.php)$ { deny all; } # Block access to any PHP files in core or core module directories location ~ ^/wire/(core|modules)/.*\.(php|inc|tpl|module)$ { deny all; } # Block access to any PHP files in /site/modules/ location ~ ^/(site|site-[^/]+)/modules/.*\.(php|inc|tpl|module)$ { deny all; } # Block access to any software identifying txt files location ~ ^/(COPYRIGHT|INSTALL|README|htaccess)\.(txt|md)$ { deny all; } # Block all http access to the default/uninstalled site-default directory location ~ ^/site-default/ { deny all; } # ----------------------------------------------------------------------------------------------- # If the request is for a static file, then set expires header and disable logging. # Give control to ProcessWire if the requested file or directory is non-existing. # ----------------------------------------------------------------------------------------------- location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|eot|woff|ttf)$ { expires 24h; log_not_found off; access_log off; try_files $uri $uri/ /index.php?it=$uri&$args; } # ----------------------------------------------------------------------------------------------- # This location processes all other requests. If the request is for a file or directory that # physically exists on the server, then load the file. Else give control to ProcessWire. # ----------------------------------------------------------------------------------------------- location / { try_files $uri $uri/ /index.php?it=$uri&$args; } # ----------------------------------------------------------------------------------------------- # Pass .php requests to fastcgi socket # ----------------------------------------------------------------------------------------------- location ~ \.php$ { # Check if the requested PHP file actually exists for security try_files $uri =404; # Fix for server variables that behave differently under nginx/php-fpm than typically expected fastcgi_split_path_info ^(.+\.php)(/.+)$; # Set environment variables include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # Pass request to php-fpm fastcgi socket fastcgi_pass unix:/var/run/example.com_fpm.sock; } }1 point
-
hi, same here: my profession is designer and copwriter, not coder. i still have difficulties to think like "real" coders but i'm progressing. however, here is what i found after having discovered pw for me (i came from contao via textpattern to pw and i have some good knowledge of wp too): coding is fun coding with pw is even more fun because it rewards you with success pw gives me the superpower i always wanted when i tried to adapt contao's pre-made markup to my needs you would like to do the same with wp you can do with pw? good luck - go and learn advanced php. beginner skills will not be enough apart from this, i'm not sure if making wp themes is a good business. if i look at themegarden for example it seems quite competitive. why not specialize in custom tailored websites to clients that appreciate it? from my experience, this market is competitive too, but working. enjoy pw!1 point
-
Hi Nico, danke für deine Antwort. Die deutsche PW Seite habe ich schon gesehen, gute Arbeit! Für einen Entwickler hast du ein sehr gutes grafisches Auge finde ich, und das mit 17 Ich werde in den nächsten Wochen meine erste kleine PW seite launchen und dabei hoffentlich ne menge lernen. Vielleicht können wir in der Zukunft ja mal ein Projekt zusammen machen. Beste Grüße Jan ----- Translation: Hi Nico, thx for your answer. I have seen the german PW site, good work! For a developer you have a very good understanding of design and that with just 17 years. In the next weeks I will launch my first PW site and hope to learn more. Maybe we can work together sometimes. Best Regards Jan1 point
-
I knew I had answered to this before! It wasn't easy but I found it http://processwire.com/talk/topic/1916-another-categories-question/1 point
-
Thanks, adrian and diogo. I've took diogo's solution. It works perfectly well. I've created Page field to hold user data array and attached to the template I will use. And another integer field to hold view count number and attached to same template. And put this code every time a page loads. if (!$this->page->forum_visited_users->has($this->user)){ $this->page->of(false); $this->page->forum_visited_users = $this->user; $this->page->forum_num_views++; $this->page->save(); } Then, every time page has been edited or deleted, page array reset. And put a current user data in the array so that it doesn't increase view count.(because an user who edit or delete is already read this post) $page_sent->of(false); $page_sent->forum_visited_users->removeAll(); $page_sent->forum_visited_users = $user; One problem is whenever edit or delete reply post, which is a child of topic post, somehow it doesn't work. topic post is the parent of reply post. below code is not working. I don't know why. $page_sent->parent->of(false); $page_sent->parent->forum_visited_users->removeAll(); $page_sent->parent->forum_visited_users = $user; $page_sent->parent->save(); Even though I got new problem, this is a huge improvement. I really appreciate it. Love you guys. Thank you.1 point
-
Ahh, that must be it. Aw, that's a shame... I'd like to be able to use it Sorry for the scare, apeisa1 point
-
This should do what you're after: foreach($page->siblings() as $sibling){ echo "<li" . (($page == $sibling) ? " class='active'" : "") . "><a href='{$sibling->url}'>{$sibling->title}</a></li>"; } Written in the browser and not tested, but should be close.1 point
-
Auch ne Möglichkeit, wenn du in die Verlegenheit kommen solltest einen zu suchen bist du dort 1000mal besser aufgehoben als anderswo Genug Off-Topic jetzt1 point
-
1 point
-
Hmm. $arts = $pages->find("template=article"); $arts->setOutputFormatting(false); foreach($arts as $art){ foreach($art->categories as $cat){ // loop current categories // find subcategory with same name $subcat = $pages->find("has_parent=/path/to/subcategories/, template=subcategory|advices, name=$cat->name")->first(); if(!$subcat->id) { echo "<p>subcategory not found $cat->name</p>"; } else { // add it to subcategories page field $art->subcategories->add($subcat); // save field $art->save("subcategories"); } } } Something like this would do.1 point
-
I think your best choice is the Page fieldType holding the users that have visited the page. Add onePage fieldType to the templates of the pages you need to monitor and choose the Users page as parent of selectable pages. Then use the API to start populating it. if(!$page->counter->has($user)) { $page->of(false); $page->counter = $user; $page->save(); } and to get your view count: count($page->counter)1 point
-
We're right now building a new website for school. We started about 1.5 years ago and by then there were some good CMSs out there but none seemed to fit. Concrete 5 would have been an option but the version we tried was not usable at all .. So we went for a custom solution built on CodeIgniter which right now is about 2 GB in size Using a framework right now I would go for Laravel 4, however .. Still interested in CMSs I searched the web from time to time and discovered PW on the CMSCritic page. I actually didn't want to try it for some weird reasons (don't know anymore) but the SkyScrapers demo really got me. Last week I started building our site in PW again and it's soo fun. Really, I love it. Going to ask the team on friday but I know they'll love it as well1 point
-
Yeah!! At least until Ryan jumps in and kick our asses with his arguments1 point
-
Shadow fields? They inherit everything but name/label from some other field. Thus they can be used on same template as their "parent". Not that I like it (I don't), but it would probably be one solution for this kind of issues.1 point
-
1 point
-
(I'm slow, so probably some of this has been said before, sorry.) One reason would be complexity, like Antti said. Adding one level of abstraction on database level doesn't sound like it's going to make things faster, does it? But I must admit I've been thinking about field naming for a minute of two myself without being able to come up with a solution that feels like it's perfect. I've even gone down that "templatex_fieldy" route more that once and it really fits in sometimes, not that I'd recommend it in general though. There are multiple ways of doing things and while it really is a good idea to have generic fields like you've described, it's not necessarily the way to go all the time. And I don't think any of the previous comments were meant to imply that. This I have to disagree with, a bit . I wouldn't describe a repeater "just a container", but that may have something to do with the fact that I've had to debug the code in the early stages of repeaters to solve a performance issue. It sure is a container for *data* but not so much for fields (yes, it's possible to look at this from another direction too). So, in my opinion, complexity is the key once again. I do like the idea of "max items" option for repeaters and that actually would give you one kind of namespacing by setting the limit to 1, but I wouldn't use that as a solution for the problem you've brought out. Not in large scale anyway. Actually what bothers me most with this is probably the name; if the fieldtype is designed for repeating content, shouldn't that alone be good enough reason to at least reconsider whether it's a good fit for namespacing? Yes, I was also a bit surprised to see how easily this conversation went down one particular route. There was more in the topic that just the example you used. Unfortunately I can't give you any more tools to handle things like namespacing or preventing excess of fields than the other guys did. But that doesn't mean I'm thinking there's only one way to do things. I think grouping of fields in the admin does solve a part of the problem (via tags or prefixes) but also I have a feeling there necessarily isn't an easy way to have a short and neat list of reusable fields if the site itself is complex. I'd be happy to see someone prove me wrong though .1 point
-
You can reuse fields between templates (so you don't need different body field for each of your templates), but using same field multiple times on same template is pretty confusing concept to be honest. It's like having twins and giving them same name.1 point
-
Hey, two things: First: If you need some german support you can contact me as well - I'm more developer than designer but doing some design stuff though. There's also a list with some other german developers (+ a showcase of some german pw sites) on the german pw site: http://de.processwire.com Second: Some modules that could make your switch from WP to PW easier are: Soma's module manager: It allows you installing and searching modules from backend like wordpress does. my template file editor: Let you edit template files directly from backend like you can on WP a lot more Btw.: Your website is lovely! -- Nico1 point
-
I pretty much explained why I left modx evo for processwire in a reaction to a post made on the modx forum and also added my 2 cents to the discussion on Marc Hinse's site . What started me was that I ran into php 5.4 troubles on my modx evo sites and therefore started looking around. Then I had one site ported from modx evo to processwire, and now I have decided to move all my modx evo sites to processwire. PW is extremely fast, I use the procache module. I also use lots of different sized pics on some of my sites and the thumbnails module just is incredible, it makes life sooooooo much easier in the front end, I can not even believe anymore how I used to crop and resize all different images offline and upload to different TV's in modx evo. I now just upload one image and the module does it all and allows me to choose the cropping. Do I sound enthusiastic? Sorry about that, but I am! Thanks Ryan, for a brilliant cms/cmf and thanks to the great people on board who are really making this thing a really kick-ass seo cms! I am not a developer, not a designer, I just get people to port a design I like and then fiddle around with the html so it ends up high in the serps. OFcourse there is more to it than that, but for what I need I want a csm that allows me to change anything and everything with ease. ANd now PW even has a heatmap module, can you believe what that means for tweaking your bounce rates and visitor retention? Ah well, better stop now. Processwire is GREAT!1 point
-
Yes, I merged it to master yesterday. I just don't think there's any reason for new users (especially) to be starting with 2.2.9 at this point. The dev branch is more stable than 2.2.9. Now we can go back to letting the dev branch be a dev branch. I'll send out a 2.3 announcement later this week. While there are always more issues to resolve, there haven't been any major problems since people started testing. Nearly all issues that have come up have been related to needing a modules cache clear, or needing to start with a fresh /wire/ dir–things that people should do for any ProcessWire upgrade. I have now added these items to the upgrade instructions in the new README file included with ProcessWire. People upgrading from 2.2 to 2.3 should still follow all upgrade instructions exactly, backup, use caution and test thoroughly. Here are the upgrade instructions as they appear in that readme file: Best Practices Before Upgrading Backup your database and backup all the files in your site. When possible, test the upgrade on a development/staging site before performing the upgrade on a live/production site. If you have 3rd party modules installed, confirm that they are compatible with the ProcessWire version you are upgrading to. If you cannot confirm compatibility, uninstall the 3rd party modules before upgrading, when possible. You can attempt to re-install them after upgrading. General Upgrade Process If you are upgrading from a version of ProcessWire earlier than 2.3, see the sections below for version-specific details before completing the general upgrade process. Upgrading from one version of ProcessWire to another is a matter of replacing these files from your old version with those from the new: /wire/ /index.php /.htaccess Replacing the above directory/files is typically the only thing you need to do in order to upgrade. But please see below for more specific details about each of these: Replacing the /wire/ directory When you replace the /wire/ directory, make sure that you remove or rename the old one first. If you just copy or FTP changed files into the existing /wire/ directory, you will end up with both old and new files, which will cause an error. Note that the /wire/ directory does not contain any files specific to your site, only to ProcessWire. All the files specific to your site are stored in /site/ and you would leave that directory alone during an upgrade. Replacing the /index.php file This file doesn't change often between minor versions. As a result, you don't need to replace this file unless it has changed. Replacing the .htaccess file Like the index.php file, this doesn't always change between minor upgrades, so the same applies. This file is initially named htaccess.txt in the ProcessWire source. You will want to remove your existing .htaccess file and rename the new htaccess.txt to .htaccess. Sometimes people have made changes to the .htaccess file. If this is the case for your site, remember to migrate those changes to the new .htaccess file. Upgrading from ProcessWire 2.2 Follow the general upgrade process above. You will want to replace your /index.php and .htaccess file as well. Clear your modules cache. To do this, remove all of these files: /site/assets/cache/Modules.* Login to ProcessWire admin. You may get an error on the first web request you try, but that should only happen once, so just reload the page. Upgrading from ProcessWire 2.1 First upgrade to ProcessWire 2.2. (side note: I'm not positive this is necessary, you may be able to go straight to 2.3, but I didn't have any 2.1 sites to test). Follow the instructions above to upgrade from ProcessWire 2.2. Upgrading from ProcessWire 2.0 Download ProcessWire 2.2 and follow the upgrade instructions in that version's README file to upgrade from 2.0 to 2.2. After successfully upgrading to 2.2, follow the general upgrade process above. Troubleshooting an Upgrade If your site is not working after performing an upgrade, clear your modules cache. You can do this by removing all of these files: /site/assets/cache/Modules.* If your site still doesn't work, remove the /wire/ directory completely. Then upload a fresh copy of the /wire/ directory. If your site still doesn't work, view the latest entries in your error log file to see if it clarifies anything. The error log can be found in: /site/assets/logs/errors.txt If your site still doesn't work, please post in the ProcessWire support forums.1 point
-
I heard about PW by reading a post on the Textpattern forum (which was my previous 'main' CMS). After implementing my first PW site, I never switched back to Txp ;-)1 point
-
I am frequent nettuts+ reader, so I read this article about PyroCMS and because I was looking for a better CMS solution than all the semi ideal ones out there, it got me interestend. But then I read the comment by Viktor: http://net.tutsplus.com/tutorials/php/whats-pyrocms/#comment-810229080 Never heard about PW before. I came here and instantly had the feeling this might be MY CMS ... so it happened.1 point
-
Hello jploch, Welcome to Processwire forum. Just like you, I'm also a designer & I've clients of similar kind like yours. About 2 years ago, I was looking for a CMS which allows me to design dynamic websites but with my own design. I started Drupal(the very first CMS I tried), Joomla, Wordpress and almost 20 other free CMS but I could never get the required control on HTML. But then I started using Textpattern which is really really simple CMS one of the best solution for small to mid sized websites. I'm still using it, its been almost 2 years now. Textpattern is great when it comes to designing, just like Processwire, you have complete control on the design. But when it comes to making something that's out of CMS's limitations, you need a solution like Processwire. I'm just a week old with Processwire and already loving it so much that I'd probably give second thought to using Textpattern to any of my next projects. With Processwire, the possibilities are unlimited, you are never restricted to doing anything. Everything's just perfect, atleast for me it is. This is an honest reply from a designer, I hope this helps you in some way.1 point
-
I'm (or was) mostly a designer but managed to make Processwire Pages. As everybody said before: You will get clean, structured and fitting pages for the cost of pre-made templates and 1-click-solutions. On the other hand, that's exactly how design works: You just can't stick together different parts (=plugins) to create a real outstanding design. It doesn't work. Every design is unique and so are most PW pages. And to complete the analogy, you can reuse some design patterns again (for example Sliders and the JS Code behind) in Processwire. If you have any trouble and lots of question, feel free to contact me via Skype or PM ( Auf Deutsch ist es vielleicht manchmal leichter / Sometimes it's easier in german)1 point
-
Hi Jan ProcessWire is hugely more flexible that Wordpress and you don't need to know much php at all - in fact, the ability to copy and paste is probably more important! (Especially with all the help round here). There is no strict theming system for ProcessWire in the way you would think of for Drumlapress (!) - basically because that would limit the creation of bespoke websites far too much. The system as it works now means that as long as you can write good HTML and CSS, you can create a brilliant site, without having to learn a templating system. You can more or less approach it in the same way as you would a static site - though, of course, you can get a lot more clever too. If you are looking to integrate it with a framework, then that is as easy as it is with a static site. But, so you get the idea, here is is a veyr stripped back basic profile using Bootstrap: http://modules.processwire.com/modules/bootwire-starter-profile/ As for things like galleries and other plugins, because of the way the site is constructed you can integrate ANY plugin without worrying about it having to fit in with the way the system works. Since there is NO JQuery or anything else for the front end until you actually put it there, you wont run into any conflict trouble with anything supplied by ProcessWire. You simply go and install the plugin in the way the developer says and then learn some very basic php and PW syntax to encorporate your data. Galleries are so simple that it is a joke. As for things like blogs - if you want something very simple (a basic "post some news" sort of thing) then it is so easy to create your own system to work the way you want it to. So, all in all, although it would not be of instest to the average Wordpress user, for any designers out there, it is the perfect way for them not only to design what they want, but in the process learn some basic development skills, which never goes amiss! I am a prime example - I am a copywriter, composer and advertising guru, and yet I am creating my own, very complex blog profile, have created several complex brochure site systems and am learning like mad. I strongly suggest you read the following: Showcase: http://processwire.com/talk/forum/9-showcase/ Detailed beginners tutorial: http://wiki.processwire.com/index.php/Basic_Website_Tutorial (written by me who is not a dev) Explanation of Pages: http://wiki.processwire.com/index.php/Pages You will also find that although there is some serious knowledge amongst the community here, not all of us are developers - but all of us have been surprised how much we have learned. Stay and enjoy! Joss1 point
-
1 point