Leaderboard
Popular Content
Showing content with the highest reputation on 06/27/2018 in all areas
-
I use the following in /site/modules/InputfieldCKEditor/config.js to disallow inline styles. CKEDITOR.editorConfig = function( config ) { config.disallowedContent = '*{*}'; // All styles disallowed };4 points
-
The problem is that the definitions of real data, studies and 3rd parties have a super broad range. I personally understand them like this: real data = comparable numbers or features studies = examples, references, sites built with ProcessWire 3rd parties = ProcessWire experts (long time ProcessWire users, integrators and developers) We are all 3rd parties (experts) that could create any kind of studies (show examples and projects) to show real data (used features, development time). The videos Jonathan created are a super nice look behind the scenes for someone who is already in web development and CMS-things. My clients aren't into this. They ask me to give advice. They trust me. They want me to tell them what they need. I am the 3rd party (expert) that knows about pitfalls. Let's turn things around. We shouldn't compare ProcessWire to another CMS. We should show and tell the benefits of ProcessWire. For example: ProcessWire is easy to extend. ProcessWire is easy to use. ProcessWire manages all kinds of data structures (books, movies, cars, clothing, what, ever, ...) right from the start. ProcessWire generates all kinds of data exchange formats (RSS, XML, JSON, CSV, ...). ProcessWire doesn't need a dedicated or specialized hosting to perform well. ProcessWire is highly customizable. ProcessWire delivers what is needed. [Your statement here] Just my two cents.3 points
-
Show him vulnerability reports and then ask him to speak out loud "My business website runs on WordPress". If he still doesn't get it, run ?3 points
-
3 points
-
2 points
-
You could use Repeater Matrix to accomplish this. Or you could take a look at this new module: There are also several site-profiles using frameworks like Bootstrap or Foundation out there...2 points
-
Take a read through this thread: https://processwire.com/talk/topic/5397-assigning-fields-to-repeaters-with-the-api/ I think the function by @thetuningspoon does what you need, but please read my comment afterwards - not sure if that change was incorporated or not.2 points
-
@wbmnfktr Repeater items are actually pages too. @tooth-paste Here is how you can do it: <?php if(count($page->event_repeater)) { $today = strtotime("today"); $upcoming_dates = $page->event_repeater->find("event_date>=$today, sort=event_date"); if(count($upcoming_dates)) { foreach($upcoming_dates as $upcoming_date) { ?> <div>...</div> <?php } } } ?>1 point
-
Oh I agree completely! In fact, I did exactly as you suggested. Where it got confusing for the enduser was a bunch of nested matrix, and if a "mistake" was made further down the line with their selection, they would have to delete a large selection and restart. However, I do need to come up with a solution that might make things a bit easier.1 point
-
1 point
-
I don't know if this will help you but in the last 2 years I/we created several sites and therefore used ProcessWire to manage all of their content. First of all we created plain HTML/CSS prototypes with almost every detail needed. Afterwards I/we created the logic in ProcessWire. Inspired by other page/article builders we created things in ProcessWire with Page Tables (extended) and the the ProField Repeater Matrix. Based on your knowledge in ProcessWire syntax, logic and modules your outcome may differ from simple site structures to absolute individual page/site constructs. You might want to look into the showcase section to find out what others build already. As a starter in ProcessWire you might also want to team up with one of the more advanced users to help you building sites.1 point
-
to extend @wbmnfktr's list: very well documented very good multilanguage handling in the core every input field is already custom, by design (no need for 3rd party extensions) a very good API with a small learning curve easy to bootstrap into other PHP web apps1 point
-
Just give him 2 offers. One for realizing his project on Wordpress, one for realizing it on Processwire. Show him the initial costs for the realization and also approximate maintainance costs. Make Wordpress a lot more expensive, of course - then he has "real data". Sorry for that comment. I know it's not that easy. I'm just a little annoyed by such statements, and I hope you get my point ? It's like asking "I want to go on vacation, which car is the best?". Good luck for googling that and getting a good answer with "real data"... It's not always about finding the right answers to the wrong questions, it's sometimes a lot more about asking the right questions ?1 point
-
I answered you on IRC, but then you quit. I will just share my docker-compose.yml in case you want to try it out (for local development): version: '3.0' services: caddy: image: abiosoft/caddy:latest volumes: - /path/to/local/directory/Caddyfile:/etc/Caddyfile - /path/to/local/directory/processwire:/srv ports: - "2015:2015" links: - mariadb - php-fpm restart: always mariadb: image: bianjp/mariadb-alpine:latest environment: MYSQL_DATABASE: mydb MYSQL_USER: mydb MYSQL_PASSWORD: mypass MYSQL_ROOT_PASSWORD: mypass volumes: - /path/to/local/directory/mariadbdata:/var/lib/mysql - /path/to/local/directory/override.cnf:/etc/mysql/conf.d/override.cnf ports: - "3306:3306" restart: always php-fpm: image: wodby/php:latest environment: PHP_FPM_USER: wodby PHP_FPM_GROUP: wodby PHP_MAX_EXECUTION_TIME: 180 PHP_MEMORY_LIMIT: 4096M PHP_UPLOAD_MAX_FILESIZE: 4096M PHP_POST_MAX_SIZE: 4096M PHP_MAX_INPUT_TIME: 180 PHP_MAX_INPUT_VARS: 10000 volumes: - /path/to/local/directory/processwire:/srv restart: always I use that separate wodby php, because I can define the running user/group to be "wodby", which has ID 1000, so I don't have to fiddle with my local file ownership (same ID as my host user). As you see, I have PW's files on local disk and also the database + Caddy and MariaDB configs.1 point
-
There could also be an issue with AIOM and PHP 7.x There are more threads with this issue - see below: I'd bet you find a solution in them for your problem.1 point
-
It looks like there is a syntax error in your less file "A non-numeric value encountered"1 point
-
Sorry about that - I've now opened an issue on the current repo. https://github.com/processwire/processwire-issues/issues/6251 point
-
These are two modules that use it: https://github.com/adrianbj/CustomUploadNames/blob/master/ProcessCustomUploadNames.module https://github.com/matjazpotocnik/AutoSmush/blob/master/AutoSmush.module Let me know if you can't figure out what you need from those and I can try to answer more specific questions.1 point
-
Obviously I don't have your complete code to check, but if you are doing on SaveReady, make sure it doesn't happen on every save - surely you only want it if the tiff has just been uploaded or replaced? Sorry if you have already taken care of this - just wanted to raise it in case. I would probably go with hooking into InputfieldFile::fileAdded1 point
-
1 point
-
1 point
-
Thanks again for the hook code @ryan - it works perfectly, with just one minor change - we added a question mark to stop the regular expression being greedy. It was replacing everything between the opening of the first style on the page and the closing of the last style of the page. $value = preg_replace('/\bstyle=(["\'])([^\1]+?)\1/i', '', $value, -1, $qty); It's a great workaround until they fix the bug in CKEditor. I'll keep an eye out for the next core update. ?1 point
-
I think they are referring to a Drupal setting that maps to CKEditor's config.fullPage, for editing a full HTML document? That's not something we use. Though it's possible I'm missing something. I noticed CKEditor 4 is now up to version 4.9.2 (we are on 4.8.0). Maybe they have fixed the issue in CKE. I'm going to update to 4.9.2 in PW core 3.0.107 this week, hopefully that'll help.1 point
-
So I finally pushed the large children branch performance fix and upped version to 1.3.5. Thanks for being patient.1 point
-
Hi! Look for Custom Editor JS Styles Set in the field configuration and enter a path for .js file. In this file you can define your custom styles like this: CKEDITOR.stylesSet.add('mystyles', [ // Block-level styles { name: 'Heading 1', element: 'h1'}, { name: 'Heading 2', element: 'h2'}, { name: 'Heading 3', element: 'h3'}, { name: 'Introduction', element: 'p', attributes: { 'class': 'introduction'} }, // Inline styles { name: 'Link button', element: 'a', attributes: { 'class': 'button' } }, { name: 'Highlight', element: 'span', attributes: { 'class': 'highlight' } }, // Object styles { name: 'Stretch', element: 'img', attributes: { 'class': 'stretch' } }, ]); Also make sure you have Styles toolbar item enabled.1 point