Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/17/2013 in all areas

  1. This module provides a way to rapidly generate Page fields and the required templates and pages for use as a drop down select (or any other Page field type). This module will let you create a full page field setup in literally a few seconds To use, run Page Field Select Creator from the Setup Menu Enter a Field Title, eg: Room Types Select Options - These will become the child pages that will populate the page field select options. There are two different options. Option 1. TITLE FIELD ONLY - enter one option per line, eg: Single Double Suite Option 2. MULTIPLE FIELDS - the first line is used for the field names and the first field must be 'Title'. Subsequent lines are the values for the fields, eg: Title, Number of Beds, Number of People, Kitchen Facilities Single, 1, 1, Fridge Only Double, 2, 2, Fridge Only Suite, 3, 6, Full Kitchen Choose the parent where the page tree of options will be created, eg a hidden "Options" parent page Select a "Deference in API as" option depending on your needs Choose the input field type Check whether "Allow new pages to be created from field?" should be enabled. As an example, if you entered "Room Types" as the field title, you would end up with all of the following automatically created: a fully configured page field called: room_types MULTIPLE FIELDS OPTION - 3 additional fields - number_of_beds, number_of_people, kitchen a parent template called: room_types a child template called: room_types_items (with either just a title field, or with the 3 additional fields as well) a parent page called: Room Types a series of child pages named and titled based on the per line entries in the Select Options textarea The templates are configured such that the "room_types_items" child template can only have the main "room_types" template as a parent, and vice versa. Then all you have to do is add the newly created page field to any template you want and you're ready to go! You can grab it from: Modules directory: http://modules.processwire.com/modules/process-page-field-select-creator/ Github: https://github.com/adrianbj/ProcessPageFieldSelectCreator
    11 points
  2. Hi everyone. The new functionality based on Martijn's suggestions for creating the select options with multiple fields is ready. I have updated the code on Github and modified the instructions in the first post above. Please test and let me know how it goes for you and whether there are any improvements I could make.
    4 points
  3. Yes. But that's not the point. I'd like to see an attractive default theme. So many people decide whether to use the system or not by "looking" at it: it's a visual process. Look at Craft: Is there anything you can do with it you couldn't easily using PW? No. But see how many attention it's getting, compared to PW. It simply offers a great visual experience, and I'm 100% sure this is a reason.
    3 points
  4. Oky doky. v 1.2.1 # added support for nav_selector property/field and selector_leveln (new in 1.2.1) You can now add a special property "nav_selector' to page(s) to define custom selector for rendering their children. This can be done on runtime or via a custom field added to pages to remotely control the selector. You can configure the name of the field by using the newly added option "selector_field". MarkupSimpleNavigation will look out for it and use it, otherwise it will use the "selector" option. You can now define selector on a per level basis. Simply use the _leveln suffix on the "selector" option, where n is the level number from the root parent. This is best illustrated by the following example: $pages->get(1001)->my_selector = "template=projects"; $options = array( "selector_level1" => "template=ressort", "selector_level2" => "start=0, limit=10", "selector_level3" => "template=news|events, sort=-created", "selector_field" => "my_selector" ); echo $nav->render($options); Note that "my_selector" has priority and will overwrite any other selctor or selector_leveln https://github.com/somatonic/MarkupSimpleNavigation
    3 points
  5. Greetings, There are so many possibilities it's hard to suggest! When I am hunting for design ideas, I have a list of sites I go to for inspiration. Some have great categories and interesting ways of searching that help you even more. Just a few examples: Site Inspire (Even More specific for you: charity site samples) Design Bombs Awwwards CSSElite Design Shack CSSLine Creattica Thanks, Matthew
    3 points
  6. Thanks for the positive feedback everyone. Matthew - that was definitely part of my reasoning for creating this. There are a few times I have wanted to set up a page field, but have gone with hani's fieldtype Select module to save time. I still think there are times when his module is more appropriate, but now I think I won't be making the decision because of the time/hassle of creating a page field setup. It is also why I chose to put "Select" in the name of the module - hopefully it will help newcomers find it more easily. Martijn - I like where you are headed with those ideas. I think rather than selecting an existing child template (which I think is what you are suggesting), how about I allow the Select Options field to also handle multiple fields if entered? I might take a stab at that and see how it goes - stay tuned!
    3 points
  7. Font Awesome Page Label (almost stable version) Yet another PageListLabel module, why? Font Awesome is really awesome, hundreds of high quality icons, ready to use. (Don't we all know how cool icon fonts are.) I wished to use icons in conjunction with the other PageList modules out there. (Page List Better Labels, Page List Image Label & Page List Show Page Id ) I wanted the possibility to style the icons individually with CSS. Showing icons triggered bij template name, but can be overruled bij Page ID. (Trash Page, 404 Page not found etc.) I wanted a better file or folder indication in the PageList tree. Download: github modules directory
    2 points
  8. I thought I had a split personality lately !
    2 points
  9. Menu Builder As of 29 December 2017 ProcessWire versions earlier than 3.x are not supported Modules Directory Project Page Read Me (How to install, use, etc..) For highly customisable menus, please see this post. If you want a navigation that mirrors your ProcessWire page tree, the system allows you to easily create recursive menus using either vanilla PHP or Soma's great MarkupSimpleNavigation. In some cases, however, you may wish to create menus that: 1. Do not mirror you site's page tree (hirarchies and ancestry); and 2. You can add custom links (external to your site) to. That is primarily where Menu Builder comes in. It is also helpful if you: 3. Prefer creating menus via drag and drop 4. Have a need for menus (or other listings) that will be changing regularly or that you want to allow your admin users to edit. The issue of custom menus is not new here in the forums. The difference is that this module allows you to easily create such menus via drag and drop in the Admin. Actually, you can even use it to just create some list if you wanted to. In the backend, the module uses the jQueryUI plugin nestedSortable by Manuele J Sarfatti for the drag and drop and is inspired in part by the WP Custom Menu feature. Please read the Read Me completely before using this module. For Complex or highly-customised menus, it is recommended to use the getMenuItems() method as detailed in this post. Features Ability to create menus that do not mirror your ProcessWire Page Tree hierarchy/structure Menus can contain both ProcessWire pages and custom links Create menu hierarchies and nesting via drag and drop Easily add CSS IDs and Classes to each menu item on creating the menu items (both custom and from ProcessWire pages) or post creation. Optionally set custom links to open in a new tab Change menu item titles built from ProcessWire pages (without affecting the original page). E.g. if you have a page titled 'About Us' but you want the menu item title to be 'About' Readily view the structure and settings for each menu item Menus stored as pages (note: just the menu, not the items!) Menu items stored as JSON in a field in the menu pages (empty values not stored) Add menu items from ProcessWire pages using page fields (option to choose between PageAutocomplete and AsmSelect [default]) or a Selector (e.g. template=basic-page, limit=20, sort=title). For page fields, you can specify a selector to return only those specified pages for selection in the page field (i.e. asm and autocomplete) For superusers, optionally allow markup in your menu titles, e.g. <span>About</span> Menu settings for nestedSortable - e.g. maxLevels (limit nesting levels) Advanced features (e.g. add pages via selector, menu settings) currently permissible to superadmins only (may change to be permission-based) Delete single or all menu items without deleting the menu itself Lock down menus for editing Highly configurable MarkupMenuBuilder - e.g. can pass menu id, title, name or array to render(); Passing an array means you can conditionally manipulate it before rendering, e.g. make certain menu branches visible only to certain users [the code is up to you!] Optionally grab menu items only (as a Menu object WireArray or a normal array) and use your own code to create custom highly complex menus to meet any need. More... In the backend, ProcessMenuBuilder does the menu creation. For the frontend, menus are displayed using MarkupMenuBuilder. Credits In this module's infancy (way back!), I wanted to know more about ProcessWire modules as well as improve my PHP skills. As they say, what better way to learn than to actually create something? So, I developed this module (instead of writing PW tutorials as promised, tsk, tsk, naughty, naughty!) in my own summer of code . Props to Wanze, Soma, Pete, Antti and Ryan whose modules I studied (read copied ) to help in my module development and to Teppo for his wonderful write-up on the "Anatomy of fields in ProcessWire" that vastly improved my knowledge and understanding of how PW works. Diogo and marcus for idea about using pages (rather than a custom db table), onjegolders for his helpful UI comments, Martijn Geerts, OrganizedFellow, dazzyweb and Mike Anthony for 'pushing me' to complete this module and netcarver for help with the code. Screens
    1 point
  10. It's getting attention because the developer has a loyal following based on their EE add-ons. One read of their license agreement (ie Plugins and Consent to Use of Data) put me off straight away.
    1 point
  11. This classic thread started by Matthew will get your started with #2 and #3 (validation = sanitization + correct input) http://processwire.com/talk/topic/3105-create-pages-with-file-upload-field-via-api/ PW $input variable: http://processwire.com/api/variables/input/ Great form examples in Soma's Gist: https://gist.github.com/somatonic
    1 point
  12. There are already a few good admin themes to choose from. You can also customize them yourself.
    1 point
  13. Just a heads up that in the modules directory, this has two authors listed: martijn and geerts. Would be nice to have that corrected so it is together with all your other modules under: http://modules.processwire.com/authors/martijn-geerts/
    1 point
  14. Oops - sorry about that - try v3 now on Github
    1 point
  15. Adrian I think you broke something in your latest commit. In the option with multiple fields The pagefield, doesn't store the Parent Page. ps, I'm smiling while using this Module (aside: People have to take care they're not creating a Hani amount of fields )
    1 point
  16. right thanks as always kongondo... it's not a huge rush, i was just wondering if anyone else had done hanna codes with comparison operators, and if there were some examples i could look at to determine if I'm doing something wrong... i also think it will be good to eventually have a repository of hanna code examples; hanna codes are going to be really essential to this one site i'm working on, in order to let the editors place tags for redundant info, such as telephone # etc...
    1 point
  17. Hi there, well, a few days ago another project of mine went online. I did that homepage for a local voluntary firefighters' club with a friend of mine at the front. My job was to create the technical basement. I used the 960 Grid System framework to do the design and implemented the base templates, my friend created an interface to synchronize the homepage calendar with a firefighters' organizational software he programmed on his own and also did some optical tweaks, Piwik integration and content. http://www.feuerwehr-friedrichshofen.de/ Regards Seuche
    1 point
  18. Add start=0 to your selector.
    1 point
  19. Sorry Kongondo, I guess it is safer to assume that Ryan has been quite busy as long as I know ProcessWire.
    1 point
  20. I guess it is safer to assume that Ryan has been quite busy lately
    1 point
  21. It seems you can....maybe.... http://mods.pw/1J http://mods.pw/34 http://mods.pw/39 http://mods.pw/4X
    1 point
  22. I wouldn't go too fancy about this. Perhaps simply a repeater with two fields: day and hours so they can add multiple day/hours pairs. (Edit: one simple textfield would suffice in this case too, seperate days and hours with some parsable seperator (for visual seperation in the front end), each pair seperated by new lines) Another idea would be you have a repeater with four fields for each repeater item: begin_day (Select field (PageField) with the 7 given days) end_day (Select field (PageField) with the 7 given days - optional for a span of days) begin_time (integer field) end_time (integer field) format the stuff accordingly in the template so they can very flexible enter anything here Mon-Tue: 7am-8pm Wed: 10am-4pm Thu-Sat: 10am-10pm
    1 point
  23. Greetings, Excellent concept! I just experimented with it briefly this morning. Will use it more later... One of the most common newcomer misunderstandings about ProcssWire is the "missing" dropdown field. Your module gets us closer to using the depth of ProcessWire pages as selects while being easier to set up. Thanks for doing this! Matthew
    1 point
  24. Very clever and useful. I'll use it for sure!
    1 point
  25. This is great Adrian, extremely handy! As this is a more advantaged tool I was thinking of: Select a template to use as child page ( with more fields in a template ) Say you select a child template with the fields: title, type & year. Then at Select Options: BMW, m3, 1987 Mazda, 323, 1986 VW, Golf, 2012 --- Even without this it's a real time saver !!!
    1 point
  26. Adrian's on fire! Thanks for this!
    1 point
  27. sure sitnarf - if you need help post here; i have tweaked the js now to support editing in lightbox and refreshing the table after closing the lightbox;
    1 point
  28. Thanks Ryan, I have just updated the module on the module's page with v1.0.3. This version moves many of the settings to the module configuration page, rather than on a per field basis. I dealt with the leading zero issue by appending a tilde on settings save and removing it when loading the settings, so it is transparent for the user. I have also update the instructions in the first post above. If anyone has any changes they'd like to see, please let me know.
    1 point
  29. I just committed the support for variations (using repeaters): create a repeater which has title and sc_price fields add it to your product template loop your variations on product page (you can have product without variations too) Here is example code for looping the variations (or using fixed price). Repeater is called shop_product_variations: $sc = $modules->get("ShoppingCart"); if ($page->shop_product_variations->count() > 0) { $page->body .= "<p>Choose variation:</p>"; $page->body .= "<div class='variations'><form method='post' action='./'><table>"; foreach ($page->shop_product_variations as $p) { $page->body .= "<tr><td><input type='radio' value='{$p->id}' id='sc_product_id_{$p->id}' name='sc_product_id' /><label for='sc_product_id_{$p->id}'>{$p->title}</label></td><td class='price'>". $sc->renderPrice($p->sc_price) ."</td></tr>"; } $page->body .= "</table><input type='number' class='sc_qty' name='sc_qty' value='1'/> a <input type='submit' value='Add to Cart' /></form></div>"; } else { $page->body .= "<div class='price'>Price: ". $sc->renderPrice($page->sc_price) . "</div>"; $page->body .= "<form method='post' action='./'><input type='hidden' value='{$page->id}' name='sc_product_id' /><label for='sc_qty'>Qty</label><input type='number' class='sc_qty' name='sc_qty' value='1'/> <input type='submit' value='Add to Cart' /></form>"; } And example of variations on live site: http://www.martanpuoti.fi/tuotteet/mennaan-eika-meinata-t-paita-unisex/muut-tuotteet/
    1 point
  30. Hi everyone, The new website of my company Omnitic is finally launched! Initially started in Wordpress, it was finally built on Processwire with Gumby Framework as i wanted a real use case to practice my "wiring". I must say that i'm pleased with the final result and how fast it was to get this up and running with Processwire. For a extra speed boost ProCache has also been used to make the overall experience as fast as possible : if you build website with Processwire and don't use this module, you're doing it wrong. There's still some tweaking to be done though (image optimization, some responsive issues to name a few) Regards and happy wiring. Nicolas
    1 point
  31. Good job! Thanks for the tip. Please note, people, that before implementing this you must check your PHP zlib configuration. Because the official PHP documentation states that To check, either run php -i | grep zlib.output_compression if you are on a console, or do the usual phpinfo() thing and search for zlib.output_compression. To note the obvious: if you are using PW 2.3.0, the default file names are: $config->prependTemplateFile = '_init.php'; and $config->appendTemplateFile = '_done.php'; With the almost untouched default site profile, I got 34 kbytes without uncompression vs 8 kbytes with compression (page /about/; traffic measured with Comodo Dragon (based on Chromium). Screenshots are attached). One last remark: the PHP docs recommend turning on zlib.output_compression. Which is understandable once you start taking PW caching into account.
    1 point
  32. Can you describe your scenario? Here's a common scenario: Lets say you've got a section called /articles/ and you want to have authors that can edit articles: 1. Create new role called "author" and check permission box for "View" and "Edit". Assign this role to one or more users you've created. 2. Edit your "Article" template (Setup > Templates > edit), the one represented by /articles/some-article/, etc. 3. Check the "yes" box on "access" tab to enable access control. 4. Next to the "author" role, check boxes for: View, Edit Want your authors to be able to create new articles too? 1. Edit your "Article" template again, check the box for "Create" for the author role. 2. Edit your "Articles" template (the one represented by page /articles/). Enable access control and check the box for "Add Children" for the author role. Want authors to only be able to create new articles but not to publish them? 1. Add a new permission (Access > Permissions > New) and call it "page-publish" 2. You don't have to do anything else. Since the author role doesn't have page-publish permission, they can't publish pages. They can still edit and create unpublished pages. Tell me more about your scenario and I'll outline instructions.
    1 point
  33. Good read about working as a freelancer or for an Agency. http://www.webdesignerdepot.com/2010/09/working-for-a-web-design-agency/
    1 point
  34. Hi sitnarf and welcome to PW. I have created two sites already and am currently working on a third with PW that has long lists of articles and I believe the page tree is a perfect way to store articles. A couple of things that might help you achieve what you are after: Drop in data table: http://modules.processwire.com/modules/data-table/ Custom Admin pages: http://modules.processwire.com/modules/process-admin-custom-pages/ This module makes it very easy to build a new PW admin menu item and uses your own templates to generate the view you want. Also, custom modules are pretty easy with PW too: http://processwire.com/api/modules/ Hope that helps.
    1 point
  35. To be honest I use the default theme, not because I dislike the others, but mainly because it's the default. There are two main reasons for this: one is that it represents PW (in a "corporate identity" way), the second is because I trust it will break less then the others with PW updates. As much as I like to try, and to see that there are nice themes being designed for PW, unless one is much better, I will stick with the default. This is one of the reasons I would prefer to see the default theme evolving, than a proliferation of alternative themes, and that's also why I'm happy that Philipp started this (being is ideas used or not). That said, I do agree that the admin should be more appealing to newcomers and easily tweakable to have different appearances by changing colors and typography (business (Nico's colors are a great example), fun, serious, etc). I even think that the default install could offer 4 or five alternatives, besides of those that would be shared by users, I'm talking maybe a small json file that could be imported by the system to change it's appearence (a bit like Philipp's color changes, but maybe more profound). What I'm talking here are not different themes, but variations of the same (default) theme. IMO the possibility to easily make these kind of changes, would allow us to maintain the recognizable PW colors on the default appearance of the default theme. This is for me an important point: the PW corporate feeling should be kept. I also want to remind Reno's small tweaks for the edit page. I think they work great: http://processwire.com/talk/topic/2002-repeating-events-multiple-datestimes-for-datepicker/?p=18862 This post went too long. I'm sure it's a mess...
    1 point
  36. I wonder if setting up roles may one day involve a different screen where boxes can be checked as opposed to going to each individual template at a time, then to access, then click and save (and repeat n times - imagine if there were 100 templates)? I still think this "batch screen" (not just for roles) is a bit of a gap here, having already seen what a help Wanze's Batcher module is for example. If I ever get round to it, I may even have a go myself!
    1 point
×
×
  • Create New...