Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/25/2014 in all areas

  1. Let's go back to the first post. The answer is almost there, we just need to do a small modification: $peterIDs = $pages->find("template=klassement,jaar=2013")->implode("|","toerist"); return $pages->find("id={$peterIDs}"); voilá
    8 points
  2. Very big part of our business at Avoine is build on top of ProcessWire. We are something between 2.5 to 3 million euros revenue currently and working with ProcessWire since 2010. Solutions we build on top of this platform are things like websites, applications like event management, voting systems and member portals. Our clients include some of the biggest non profit organizations in Finland. Our focus and pw usage only grows from day to day. Happy to tell you (or your client) more if needed.
    7 points
  3. We are now hosting our own store here at processwire.com (previously it was hosted through the DesignIntelligence bookstore). You'll see it as the STORE button on the upper left corner (next to FORUMS and MEMBERS). By hosting it here, we are able to provide better service to you. If you purchase a product through the store, your access in the forums is upgraded automatically at purchase time. Previously people had to request access or I had to track people down and tell them to create a forum account, etc. So the new system is much more automated. Now you can pay by credit card or by PayPal. Previously we could only accept credit card. Now you can purchase upgrades from one version to another. For instance, if you purchased ProCache Single and wanted to later upgrade to ProCache Developer, it lets you do so by paying only the difference in cost. This only works if you have done all the purchases through the new store. (If you did it through the old store and want to upgrade, then just PM me and I'll setup a special coupon code for you that subtracts the cost you already paid). The new store brings more revenue back to development of the ProcessWire project since our merchant fees are now a lot lower (2.5% rather than 10%). We will be adding more products to the store in the coming months, including more modules and enhanced ProcessWire support options for those that want it themselves or for their clients. A change to the FormBuilder and ProCache policies. Previously the developer or agency versions specified that you could install as many copies as you wanted, but only for 1-year (at which time you would renew if you wanted to install more). That time limit has been removed. When you purchase the developer or agency version of either product, you have no time limits. Incidentally, I've never enforced any time limits on either product, but just wanted to state it officially since I've recently been asked about it. The product pages also state this now. The only 1-year limitation that remains in effect is for support and upgrades. The new store lets you renew that automatically or manually, if you want to. The yearly support renewal cost is roughly 1/4 the product cost. For example, $10 for Form Builder Single. Coupon code (today through Saturday) To celebrate the opening of the new store and to make sure we put it through it's paces (not to mention, test the coupon code function) I've setup a coupon code that lasts from today to Saturday (April 1). The code will give you 10% off any Form Builder or ProCache version. The code is NEWSTORE. Please let us know if you see anything that we can improve in the purchase or checkout process. For those interested, the new store runs on IP.Nexus, which is a commercial add-on component to IP.Board (the forum software we use). The merchant gateway is provided by Stripe. A huge thanks to Pete (the forum administrator here) for recommending all this and helping to get everything setup.
    5 points
  4. Just had a phone call from someone claiming to be from my broadband supplier and saying that I had a major terrible fault with my computer. I spent a happy five minutes tricking him by getting him to guess which company I get broadband from (he tried five different ones), asking what type of computer I had (he got that wrong three times), and finished by telling him he was a criminal and a fraud and when I got hold of him I would plant him in a very deep hole indeed – I made the latter bit last several minutes and did not repeat myself once. He eventually hung up. However he did try very hard. He said that he was from a Pakistani company set up by the UK Government to deal with problems. He tried to tell me that If I did not let him help me they would have to shut down my computer remotely and it would delete all the files (I was a danger to the system) and a whole pile of other scare tactics. He was very convincing, or would have been except I recognised this as a fraud immediately for a couple of reasons: 1. If you have viruses or anything else on your computer, your broadband supplier won’t know and are really not interested – it won’t affect them and they see it as your problem. 2. If your broadband supplier needs to contact you because they are doing work, they will either post a letter to you or, more likely, not tell you at all and you will find your service is interrupted for a while as a surprise. Suppliers have hundreds of thousands of customers, it is not practical to phone them! 3. The chances are that your broadband supplier will NEVER phone you – just like your phone supplier never phones you. So the odds are that it is a scam. Ah, that was three reasons. So, if anyone calls claiming that they have detected a problem on your computer, do one of two things. 1. Hand up immediately (the best thing to do) 2. Give them a really nasty lecture on what a complete low-life they are and how if there is a god they will go to hell. It will get rid of several days worth of frustration and stress and make you feel lots better! I wonder if I can get him to phone me weekly?
    5 points
  5. I would buy a product called "nothing", price $5,- or something. What you recieve: Nothing, nada, niente, rien du tout, niks! (special support)
    5 points
  6. Hey Ryan, Excellent idea! How about an item called "Good Karma" with an open price? Thanks, Matthew
    4 points
  7. Sorry to dive in late. Diogo's code would be equalent to: if($page->url == $page->url) throw .... Just looks cooler, but however I would simply not create the php template for those pages and create a separate template file. If your template would be "subpage", create a partial-subpage.php And render the subpages on home with echo $subpage->render("partial-subpage.php"); And since you don't have a subpage.php those won't be viewable anyway. Redirect: What you also could do is have the subpage.php redirect to the home with a hash /#yoo appended, so you could scroll to the panel and also use that url for indexing. $session->redirect("/#" . $page->name);
    3 points
  8. Hi alexmercenary, I can confirm that the following works, and will indeed create a single page website where the child pages are included in the homepage, and are not accessible via URL. You don't need to set the child pages to hidden, the template logic takes care of the 404. In my home.php template <?php include("./head.inc"); foreach ($pages->get('/')->children() as $p) { echo $p->render('children.php', array('isPartial' => true)); } include("./foot.inc"); In my children.php template (assigned to all children of the home page) <?php if (isset($options['isPartial']) && $options['isPartial'] == true): ?> <section class="arrow" id="<?=$page->name; ?>"> <h2><?=$page->title; ?></h2> </section> <? else: ?> <?php throw new Wire404Exception(); ?> <? endif; ?>
    3 points
  9. Hi Antti, my wife crochets those - no joke. If you are serious about them, pm me your ear to ear measurements as measured from the top tip of one ear, then just under your nose and over to the top tip of the other side. I'll pass them on to my better half and get a qoute for you. I'll also see what can be done to mix in the new logo.
    3 points
  10. ProcessWire wordmark on the front, new logo as a neck print on the back. American Apparel BB401 T's. I'll take 5. Discharge printing too - none of this bulletproof plastisol stuff.
    3 points
  11. Not sure I remember correctly, but template changing might be possible just for superuser to make development faster. Not all agrees with this is good practice and there is an GitHub issue filed already. If I remember correctly you
    2 points
  12. Are there other reasons they need to register with your site? You can see the way I use discus on one of my WP sites here: http://www.pebblesthepuppy.co.uk/spring-is-springing/ On a new blog I am working on with PW I am not using comments at all in the traditional way - I don't want the hassel of moderation - so using the new systems with twitter, I will simply embed a twitter feed dedicated to the post. Twitter can have the moderation and spam issues rather than me! On the PW comments system, it is not nested as it is, but there is no reason you could not change it so that it was, I would imagine. The comments are just pages with child parent relationships after all. (bit beyond my programming ability, though) EDIT: Just saw this: https://processwire.com/talk/topic/2623-comments-core-reply-feature/
    2 points
  13. That's because this is written in Python, and not PHP Did you consider Disqus and alikes? http://explorerhub.com/blog/disqus-intensedebate-alternatives/ If you want self hosted and PHP there's this one https://github.com/jacobwb/hashover The introduction post he links to is quite old, but it seems that they are preparing something new here https://github.com/jacobwb/hashover-next
    2 points
  14. renobird, diogo... Thank you both so much for your help! diogos method works a charm as I'm sure would yours renobird, like you say it's just a bit cleaner for the purpose of what I want to achieve. You are both legends. What a lovely forum full of caring people!! Thanks again
    2 points
  15. http://teespring.com/ might be a good way to go for teeshirts and stuff
    2 points
  16. This is how I have done it in the past: "id!=2, id!=7, has_parent!=2, has_parent!=7, template!=admin, sort=id, include=all" Soma suggested (https://processwire.com/talk/topic/4530-how-to-get-a-list-of-all-pages-recursiv-without-admin-pages/?p=44508): "has_parent!=2,id!=2|7,status<".Page::statusTrash.",include=all" Ryan suggested (https://processwire.com/talk/topic/4530-how-to-get-a-list-of-all-pages-recursiv-without-admin-pages/?p=44782): "template!=admin, has_parent!=2, include=all" Those should help you with the getting of all pages. From there, getting pages fields is simple enough. Not sure about the memory usage issues - maybe you can test and see how it goes
    2 points
  17. Should work as Reno is doing, but even before we could pass parameters to render() this would be possible by comparing the url with the page being rendered. In your case: if ($page->url == $_SERVER["REQUEST_URI"]) throw new Wire404Exception();
    2 points
  18. The advantage of having it in a separate file is that you are separating your concerns. Logic is kept with logic, markup is dedicated to displaying and layout of the data. This makes it easy to understand where things are, how they got to be there, and where to add what as you extend a site. Have a read through just the views in the boilerplate - there is no repetition, everything is well organised and brief, and it is easy to understand where markup is being obtained. Many functions will be specific to just one template, but other logic is likely to be shared across a number of templates. Abstracting logic away from markup ensures that you can quickly find where to add logic, or where logic is being defined. You can see how we have achieved this with the controllers/traits files - SEO, Search, Opengraph, etc. A nice result of this methodology is that your files are often shorter, and easier to manage. In the Ruby realm it's considered good practise to keep functions down to approximately 5 lines, so that they are brief, and achieve only one goal. Keeping files to an approximate maximum length of 100 lines is another good practise - try reading through WordPress core files; it won't be long before you find a monster 1000+ line file (possibly even a single function of that length). That's insane, a nightmare to navigate and manage, and is plain horrible for devs when debugging WordPress' innumerable quirks. When your files and functions start exceeding these numbers, there's often room to neaten things up, make things more concise, and abstract functionality elsewhere. It helps you, helps future devs, and makes unicorns poop rainbows! You can, of course, write all of your logic into the template, but then may you lose reusability of the code, and will undoubtedly lose brevity, or have to add logic in places which may not make sense. MVC removes this issue entirely - you always know what goes where. ProcessWire allows you to use _init.php and other mechanisms to handle this, but that can quickly become unwieldy, so abstracting concepts to separate files can then become beneficial. I'm sure the boilerplate can also be achieved using modules, but it made sense for us to keep the controllers right with the views (as in Rails), since controllers are created as we add templates in the admin. Perhaps in the future it would be beneficial to move the logic out to modules, but we'll only look at that should we see a benefit over how we're doing it right now. It's awesome that we have the flexibility to make such decisions with ProcessWire. Another cool thing is that when you don't want to use the MVC approach, such as when you want a template to redirect - then you don't use MVC! Point the template directly to its file, and put the redirect straight in there, bypassing all the boilerplate logic. You get the best of both worlds.
    2 points
  19. I would love to buy one of those beards WillyC is wearing!
    2 points
  20. What about merchandise? Like T-Shirts and this kind of stuff?
    2 points
  21. Sorry felix that I can't help you with what you specifically need, but I think - as SiNNut mentioned - it might be a good idea to break the clients questions down to concrete concerns instead of trying to cope with his diffuse discomfort. As a consultant I would ask the client what it is in particular he is concerned about and then trying to address this points. Narrowing things down to practical problems and their solutions makes it easier for you to compare PW with Typo 3 (which is indeed much overestimated) and to offer concrete solutions for concrete problems. (while showing him how easy it is to set up XYZ in PW he might even forget about his other concerns ...). In addition, offering solutions - even if it is only for a detail - gives you the chance to re-enter the driver seat and strengthen your position as an expert they hired for getting the job done. If you come up with a lot of references you are still not directing the process. That's the problem I see here. Hope that helps a bit. Good luck!
    2 points
  22. ere are few example showcases and experience reports that match their organization size (1k+ employeers). u building website no ? or u renovates company bathrooms ? tell.client look at web sites traffic not no. employee disclainer : i used to cleans bathrooms so i lookd at no. employee
    2 points
  23. codecademy recently started an interactive php course for beginners. http://www.codecademy.com/en/tracks/php looks good so far. i was not sure if it fit's the "getting started" section of the forums, but maybe it's an interesting hint some people. maybe someone has links to add.
    1 point
  24. We recently won a pitch for a website of a larger organization that we hope will gain a lot of visits and interest (in our region). The specification book didn't force a CMS to be used but recommended using typo3 as the clients old website is already running with it. Of course(!) we are planning to build the website with processwire as it's our current CMS of choice (and because Typo3 is a pain in the a... ). After presenting PW to the client's IT-Department and the internal ressources that will be creating content they are interested but still not convinced because there are few example showcases and experience reports that match their organization size (1k+ employeers). As a result we were asked to collect some Information on large scale processwire sites and the companys behind them. Plus (if possible) give them some contacts on organization side who they can talk to about experiences (everyday work, performance, security). So: If any of you can help us with that (examples, contacts) your help will be greatly appreciated. I'm sure there will be a lot of interest for PW as a system when the website will be built with it.
    1 point
  25. This is an excerpt from an ongoing larger work that I am playing with so has a couple of references to things you haven't read - but it might be useful anyway. I notice that some new PW users are a bit confused about how they should structure their site within the /site/templates/ directory, so this is just some general waffle addressing that confusion rather than telling you what to do. Structuring Your SiteHere is a question that comes up in the forum more times than just about anything else: “I need to build a site that will have this bit as part of that bit and will need to have something over there while the bit under here relates to the image that isn't there and the entire lot needs to be static html….” What underlies the question and all its variant cousins is: “Is there a set way to structure the files for my site?” No. To be honest I am pretty tempted to finish this chapter here because that one little word really does sum up the entire point about ProcessWire, PHP, MySQL, Apache, JQuery and anything else that makes this system tick. None of it, including ProcessWire, is about how you want to structurally create your website; they are all tools that enable you to construct your site how you wish. Part of the problem, it seems, lies in the various demos and profiles that sdemonstrate how ProcessWire works and what it does. The very fact that they exist at all means that someone had to build them, and to do that, they had to structure them ... obviously. Developers and designers that have come to PW from other content management systems and who are used to having to follow fairly limiting guidelines automatically assume that the demo they are looking at represents how they MUST put the site together. Then they look at a different demo by another plonker and it is built in a completely different way. Bugger. The PW Templating System Most content management systems have a templating system of some sort or another. Sometimes it is based on a third party markup system, sometimes it is based around the idea of a huge amount of files that if you want to change you have to build overrides and put them in certain directories and then work out how to strip out all the ccs that is still in there. Some of them, particularly the ones that go on about CCK (Content Construction Kit, whoever that is) allow you a ton of versatility as long as you don’t mind that all the fields come complete with huge amounts of pointless nested DIVs and CSS referenced from one of the moons of Mars. Some have had this amazing idea that it is somehow really clever to separate the idea of an overall theme from the way components are laid out and therefore put them in completely unrelated parts of the file structure (some in the core that will be rendered useless at the next update). Anyone used Magento? The joke here is, of course, that none of this is about what a CMS is meant to do, it is about how to display the OUTPUT of a CMS, but somewhere down the line the two have got confused and the Content Management part of the system is now telling the public website part of the system how to do its job. And that brings me neatly to the ProcessWire Templating System. Which doesn’t exist. PW is a true CMS in that it gives you two layers of tools: Firstly it provides a way of storing, managing and processing data. Secondly, it provides an API that allows you to retrieve and manipulate that data. The bit it doesn't do is build your website for your – you are the designer or developer, you are probably the best tool for that job! There are a few rules … well, there is one rule actually, which we covered earlier: template files must have a php suffix and be kept in the templates directory. So, whether you construct your site using header and footer files included into your main templates, or whether you use a delegated approach or just one core template that you use to drag in markup from other files, or whether you use the API directly into a template, or as part of a php function or stored in a separate file, or whether you use jquery, ajax, JavaScript or anything else, this is all up to you and is NOT part of the PW system. It is back to how we started (in the main tutorial) with just one line of PW markup in an empty PHP file. <?php echo $page->title; ?> Now throughout this tutorial I will probably stick to some pretty basic construction – I will tend to use the API and PHP directly into a template file and possibly use an included header and footer just to reduce the amount of markup kicking around. However, this is not necessarily the best way of creating a website in PHP and PW, it is just a nice clear way; that is all. The PW forums have all kinds of discussions on different approaches for using PW and PHP and files and so do forums and blogs all over the web. The very fact that PW does not rely on one particular way to construct a website means that all those ideas from all over the place are perfectly valid and can probably be used in PW. Freedom is a wonderful thing, and so is a proper CMS. Joss
    1 point
  26. The UK Government line seems to be their latest trick. I had a phone call two days ago regarding my boiler. They told me it was part of a government scheme to replace it (which I knew was a load of balls). I'm not sure what they planned to achieve? maybe they were going to ask for a deposit? Either way, I didn't give them much time as I simply blew my air horn down the phone
    1 point
  27. Have a read here.... https://processwire.com/talk/topic/3579-tutorial-approaches-to-categorising-site-content/ It is not really what you want, but may answer questions about relating pages...
    1 point
  28. Thanks Joss. I have never really looked into JQ, but wow, I like what I see. I popped the following code in my footer, and it works perfectly. Nice thumbnails and a slick popup image. <script type="text/javascript"> $(document).ready(function() { $('a[href*="/assets/files/"]:has(img)').addClass('th single_1'); $(".single_1").fancybox({ openEffect : 'elastic', closeEffect : 'elastic', helpers : { title : { type : null }, overlay : { locked : false } } }); }); </script> BTW, thanks Martijn for creating this, it's great.
    1 point
  29. Greetings, I've spent so much time experimenting with various MVC frameworks (CakePHP, Laravel, CodeIgniter, Yii). I discovered Phalcon a few months ago, and gave it a try. Since my background is in C derivatives, it seemed interesting to me. The speed boost Phalcon promised was really enticing. After trying it out, I will say I like Phalcon. But the speed advantages may not be relevant to you unless you are running really intensive sites. In recent months, I've spent much more time delving into ways to use ProcessWire as a framework. I've written about this here on the forum (https://processwire.com/talk/topic/2393-processwire-framework). To me, the ProcessWire framework runs circles around some of the ones that get so much attention. Yes, I'm looking at you Mr. Laravel. Thanks, Matthew
    1 point
  30. As fancybox is a jquery plugin, it is nice to stick with the same system. Look through the jquery docs for things like addClass and so on - very simple stuff. By the way, the modern version of Fancybox is quite restricted when it comes to licencing - it is free to use on non-commercial only, http://sites.fastspring.com/fancyapps/product/store However, Colorbox is definitely free! http://www.jacklmoore.com/colorbox/
    1 point
  31. I contemplate it all the time. Seriously, I think PW is the only tool I don't contemplate leaving
    1 point
  32. I submitted a pull request for similar functionality. It copies the cropped images to a separate images field. I put this together very early in my experience with PW and I know that antti wanted an option to opt in or out of this feature which is why he hasn't accepted it. It would be easy to modify to make it optional, but perhaps you can make use of my code anyways: https://github.com/adrianbj/Thumbnails/commit/c3539ada4306acd7f98c667864aa5ebe1fd0a244
    1 point
  33. You can add just about anything with jquery So I tend to use this $('.blog img').closest("a").addClass("fancybox ").attr('rel', 'group'); This looks at a container div with the class .blog (which is worthwhile so you only apply this where you want!) and then looks at something with an img tag and then goes to the closest a tag (the one wrapper round it) and adds a class and an attribute Okay, so martin has done it the other way up to me!
    1 point
  34. ID's are not meant to be used like that. Better to assign a class if the link has an image & then call the jQuery plug-in. $(function () { $('a[href*="/assets/files/"]:has(img)').addClass('fancy'); $(".fancy").fancybox({ openEffect : 'elastic', closeEffect : 'elastic', ... .. .. credits to Teppo for the $('a[href*=/assets/files/]:has(img)')
    1 point
  35. @kongondo your answer was good, you shouldn't have deleted it. That was probably the best way to do it before Ryan added these new methods https://processwire.com/talk/topic/5098-new-wirearray-api-additions-on-dev/ Edit: actually, I only understood what was being asked after reading your solution
    1 point
  36. Alan, you can delete the ckeditor-4.3.0 directory as that's just an old version that's no longer in the module's source code. I recall seeing this issue in older versions when pasting copy, but haven't seen it in any recent versions. I'd be curious to know what your CKEditor settings are. Check that you've got ACF enabled in your CKE field settings, which should filter out that kind of stuff. You might also want to enable HTML Purifier as well, which would clean out that kind of stuff when the page is saved. I just pushed an update yesterday for a bug someone reported with our config definition to CKE and it's enterMode option, but am thinking that is probably not related to the issue you are seeing here... Still it might be worth testing out hte new version 1.1.8 just in case.
    1 point
  37. You should be able to do this with sanitizeValue(). My experience with fieldtypes is very scarce, but AFAIK that's what this method is for Edit: unless you're already using it as a base for your own fileldtype, take a look at how sanitizeValue() of FieldtypeEvents works. That pretty much explains it, I think. If you don't like the value, throw exception. I'm not entirely sure if it's possible to entirely disable setting value via API though, if that's what you're after -- i.e. giving $page->yourfield a value that's an instance of the object it expects -- without disabling page edits etc. too.
    1 point
  38. I would love to see some ProcessWire related merchandise in the store as well. Maybe a few decals in neat colors of various sizes. Surely a black/white coffee mug?!?!? We gotta sip some #cawfi as we code, right Ryan? A mouse pad comes to mind!
    1 point
  39. This is why I always open threads that show Willy's picture as last poster
    1 point
  40. hi folks, another very useful page for php pupils - unfortunately only in german ... http://www.rither.de/a/informatik/php-beispiele/
    1 point
  41. I think, following on from bwakad's comments and kongondo's (understandable) reaction is that the takeaway here is that you can't have too many example site profiles. What 'clicks' with one new user may well be different from what another new user has an epiphany with.
    1 point
  42. Hehe...OK, I get it, point taken ...tutorials coming up in ___ days...
    1 point
  43. Filed an issue, as I was able to reproduce this. https://github.com/ryancramerdesign/ProcessWire/issues/358
    1 point
  44. Lovely job, Ryan! I was so close to booking a 10+ person venue for an impromptu ProcessWire gathering at Calvigny, but $52K per night just sets off my grunge alarms. Maybe the pools aren't refilled nightly or something, you never know.
    1 point
  45. Hi everyone, I made a walkthrough of a web app I built using ProcessWire for the Tenova Group mining company. They needed an intranet application to keep track of their daily plant operations. I designed and developed a ProcessWire solution that would allow registered employees at Tenova HYL to record events regularly in an event log. Storing all of the events in this manner would allow registered users to find the events they're looking for using keyword search, date filters as well as filters based on other criteria. Each event also allows the user to upload supporting files for download, such as Word documents and PDFs, as well as upload relevant images to be displayed in a modal window. A high-performing, powerful solution using the ProcessWire CMS. Read about the project here in my portfolio. See the video here: Tina Holly tinaciousdesign.com
    1 point
  46. Very nice Tina! Very inspirational. Thanks for sharing
    1 point
  47. ProcessWire is a content management framework, which is still a "framework", but more focused on a particular thing. Whereas the framework scope of CakePHP, Laraval, CodeIgniter, etc., is more broad and cover more territory. ProcessWire isn't meant as a replacement for one of those frameworks, but I think there are probably many instances where its focus might make it preferable. And an equal number of instances where the opposite is true as well. There's also something to be said for bringing the two together in some instances. Another big area of difference is that traditional frameworks enforce a particular approach to build on top of, whereas ProcessWire aims to be a lot more transparent, like jQuery. Frameworks set you up with a place to put your models, views and controllers, whereas ProcessWire puts in you in a plain PHP file (template file) that is given a location context ($page) and lets you take over from there. We think MVC is a good approach to take with ProcessWire template files, but don't enforce anything, as it's up to the developer. For better or worse, the possibilities are wide open in the same way they are with a PHP file on its own… though with a full CMF API at your disposal.
    1 point
  48. IF you set them to hidden you could do: <h1><?php echo $page->title; ?></h1> <p><?php echo $page->introduction; ?></p> <?php $children = $page->children('include=all'); if(count($children)) { foreach($children as $item) { if ($item->isHidden()) { echo "I'm not displayed."; } else { echo $item->render(); // output template associated with item page } } } ?> <br style='clear: both;' /> (ps, written in browser not tested)
    1 point
×
×
  • Create New...