Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/12/2014 in all areas

  1. Hey guys, This is Fixate's second PW site - first one launched. It's for an orthodontics practice based in Johannesburg, South Africa. http://hugoorthodontics.com This site was built with an earlier version of our PW MVC Boilerplate on Github, with a discussion in the PW forums. Since abandoning WordPress for ProcessWire, we've never been happier with the flexibility in design and development! Thanks for an awesome product
    10 points
  2. This is already old news to many of you here, but I finished writing up the full announcement today so figured I should post it (click the link below). Numerous upgrades and refinements make ProcessWire 2.4 our most friendly and powerful version yet! ProcessWire 2.4 is focused on listening to the feedback from of our users and answering with the best CMS experience for web designers/developers and their clients. Read the full announcement. For those upgrading from a previous version of ProcessWire, please read all of the upgrade instructions. Hope that you enjoy this new version! A huge thanks to Avoine for sponsoring the Field Dependencies feature new to ProcessWire 2.4!
    9 points
  3. Nice work mvdesign, I like the concept here. It's similar to something I'm working on at the moment (I'm switching it to PW 2.4 admin concept so I've delayed its release until it's done).
    4 points
  4. Hello everyone, This is just a little admin theme redesign. Just made "pages" at the moment, but let me know if you want me to continue, and which version you prefer
    3 points
  5. @mvdesign - grey colors in your last preview don't quite fit in my humble opinion (don't get me wrong), it's to grayish all around, I liked the contrast versions much better. @Manfred62 - I've always skinned TinyMCE in my themes, most probably would do the same with this one (but I must admit that skinning old TinyMCE is a pain...), for that reason I've never liked JqueryUI also - I like more semantic markup As for my theme - I plan to make sidebar collapsible entirely in the final stage so there would be room for smaller screens also I've started to adopt the theme for mobile view but put that on hold in favor of making the true PW 2.4 theme (because I do little or none updates with my mobile), but that's next on the road I've also made quick selectable templates in the sidebar with pagination like this: I find it useful, what do you guys think? Is it quite an overload for the theme or ...? Thanks
    3 points
  6. until now we are not sure how to place module translations on github. Therefore you can download the first 3 here. Zip contains the following module translations: CKEditor ModulesManager Thumbnails modules-de.zip BTW: actual ModulesManager needs also a translatable JqueryDataTables.module to get the full de-gui...
    3 points
  7. You'll want to test ahead of time, but I think it'll still work. There are some bugs and security issues in PHP 5.3 versions prior to 5.3.8, which are good reasons for nobody to use those versions. That's the main reason I set 5.3.8 as the minimum. But the reality is that it should still work fine in any 5.3. Chances are it would still work fine in 5.2 as well, but I want to take that monkey off our back so we can move forward.
    3 points
  8. Raymond pointed me to this video, interesting.
    2 points
  9. The multi-language support is simply mind-blowing in 2.4. I've just tried it on a new site this week, and it just works out of the box.
    2 points
  10. That is a simple light box functionality or modal window that takes content rather than just an image. There are loads of jquery plugins out there that do it - search for "jquery modal" Here is a very basic one I have just found - haven't tested it! http://leanmodal.finelysliced.com.au/ One note: you need to double check what JQuery you are using - For instance Foundation 5 uses JQuery 2, but not all plugins are working with that.
    2 points
  11. Thanks Horst, looks like one, but it's actually L..
    2 points
  12. Thanks Ryan for this new awesome upgrade. PW changed my life
    2 points
  13. Ryan, Such great work! 2.4 feels like a massive leap forward. Your hard work is much appreciated. Many thanks to everyone who as contributed ideas, testing, code, sponsorship of development, etc.., etc... It's a joy to work in ProcessWire every day.
    2 points
  14. until now the 'cz' and 'de' translations are the most complete? language packs for the new PW 2.4. They contain 99 files. Here's a list with all translated files. Maybe this list is helpful for other translators, to complete their language packs. list of file paths: /wire/core/Pagefile.php /wire/core/AdminTheme.php /wire/core/Field.php /wire/core/Fieldtype.php /wire/core/Functions.php /wire/core/Inputfield.php /wire/core/InputfieldWrapper.php /wire/core/Pages.php /wire/core/Password.php /wire/core/Session.php /wire/core/SessionCSRF.php /wire/core/WireHttp.php /wire/core/WireUpload.php /wire/modules/AdminTheme/AdminThemeDefault/AdminThemeDefault.module /wire/modules/Fieldtype/FieldtypeComments/CommentFilterAkismet.module /wire/modules/Fieldtype/FieldtypeComments/CommentForm.php /wire/modules/Fieldtype/FieldtypeComments/CommentList.php /wire/modules/Fieldtype/FieldtypeComments/FieldtypeComments.module /wire/modules/Fieldtype/FieldtypeComments/InputfieldCommentsAdmin.module /wire/modules/Fieldtype/FieldtypeDatetime.module /wire/modules/Fieldtype/FieldtypeFile.module /wire/modules/Fieldtype/FieldtypeFloat.module /wire/modules/Fieldtype/FieldtypeModule.module /wire/modules/Fieldtype/FieldtypePage.module /wire/modules/Fieldtype/FieldtypeRepeater/FieldtypeRepeater.module /wire/modules/Fieldtype/FieldtypeRepeater/InputfieldRepeater.module /wire/modules/Fieldtype/FieldtypeText.module /wire/modules/Fieldtype/FieldtypeTextarea.module /wire/modules/Fieldtype/FieldtypeURL.module /wire/modules/Inputfield/InputfieldAsmSelect/InputfieldAsmSelect.module /wire/modules/Inputfield/InputfieldButton.module /wire/modules/Inputfield/InputfieldCheckbox.module /wire/modules/Inputfield/InputfieldCheckboxes/InputfieldCheckboxes.module /wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.module /wire/modules/Inputfield/InputfieldEmail.module /wire/modules/Inputfield/InputfieldFieldset.module /wire/modules/Inputfield/InputfieldFile/InputfieldFile.module /wire/modules/Inputfield/InputfieldFloat.module /wire/modules/Inputfield/InputfieldForm.module /wire/modules/Inputfield/InputfieldHidden.module /wire/modules/Inputfield/InputfieldImage/InputfieldImage.module /wire/modules/Inputfield/InputfieldInteger.module /wire/modules/Inputfield/InputfieldMarkup.module /wire/modules/Inputfield/InputfieldName.module /wire/modules/Inputfield/InputfieldPage/InputfieldPage.module /wire/modules/Inputfield/InputfieldPageAutocomplete/InputfieldPageAutocomplete.module /wire/modules/Inputfield/InputfieldPageListSelect/InputfieldPageListSelect.module /wire/modules/Inputfield/InputfieldPageListSelect/InputfieldPageListSelectMultiple.module /wire/modules/Inputfield/InputfieldPageName/InputfieldPageName.module /wire/modules/Inputfield/InputfieldPageTitle/InputfieldPageTitle.module /wire/modules/Inputfield/InputfieldPassword.module /wire/modules/Inputfield/InputfieldRadios/InputfieldRadios.module /wire/modules/Inputfield/InputfieldSelect.module /wire/modules/Inputfield/InputfieldSelectMultiple.module /wire/modules/Inputfield/InputfieldSubmit/InputfieldSubmit.module /wire/modules/Inputfield/InputfieldText.module /wire/modules/Inputfield/InputfieldTextarea.module /wire/modules/Inputfield/InputfieldTinyMCE/InputfieldTinyMCE.module /wire/modules/Inputfield/InputfieldURL.module /wire/modules/Jquery/JqueryWireTabs/JqueryWireTabs.module /wire/modules/LanguageSupport/LanguageParser.php /wire/modules/LanguageSupport/LanguageSupport.module /wire/modules/LanguageSupport/LanguageSupportFields.module /wire/modules/LanguageSupport/LanguageSupportPageNames.module /wire/modules/LanguageSupport/LanguageTabs.module /wire/modules/LanguageSupport/ProcessLanguage.module /wire/modules/Markup/MarkupPageFields.module /wire/modules/Markup/MarkupPagerNav/MarkupPagerNav.module /wire/modules/PagePaths.module /wire/modules/PageRender.module /wire/modules/Process/ProcessField/ProcessField.module /wire/modules/Process/ProcessForgotPassword.module /wire/modules/Process/ProcessHome.module /wire/modules/Process/ProcessList.module /wire/modules/Process/ProcessLogin/ProcessLogin.module /wire/modules/Process/ProcessModule/ProcessModule.module /wire/modules/Process/ProcessPageAdd/ProcessPageAdd.module /wire/modules/Process/ProcessPageClone.module /wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module /wire/modules/Process/ProcessPageEditImageSelect/ProcessPageEditImageSelect.module /wire/modules/Process/ProcessPageEditLink/ProcessPageEditLink.module /wire/modules/Process/ProcessPageList/ProcessPageList.module /wire/modules/Process/ProcessPageSearch/ProcessPageSearch.module /wire/modules/Process/ProcessPageSort.module /wire/modules/Process/ProcessPageTrash.module /wire/modules/Process/ProcessPageType/ProcessPageType.module /wire/modules/Process/ProcessPageView.module /wire/modules/Process/ProcessPermission/ProcessPermission.module /wire/modules/Process/ProcessProfile/ProcessProfile.module /wire/modules/Process/ProcessRole/ProcessRole.module /wire/modules/Process/ProcessTemplate/ProcessTemplate.module /wire/modules/Process/ProcessUser/ProcessUser.module /wire/modules/Session/SessionHandlerDB/ProcessSessionDB.module /wire/modules/Session/SessionHandlerDB/SessionHandlerDB.module /wire/modules/Session/SessionLoginThrottle/SessionLoginThrottle.module /wire/modules/System/SystemUpdater/SystemUpdater.module /wire/modules/Textformatter/TextformatterEntities.module /wire/templates-admin/debug.inc /wire/templates-admin/default.php list of file names: wire--core--admintheme-php.json wire--core--field-php.json wire--core--fieldtype-php.json wire--core--functions-php.json wire--core--inputfield-php.json wire--core--inputfieldwrapper-php.json wire--core--pagefile-php.json wire--core--pages-php.json wire--core--password-php.json wire--core--session-php.json wire--core--sessioncsrf-php.json wire--core--wirehttp-php.json wire--core--wireupload-php.json wire--modules--admintheme--adminthemedefault--adminthemedefault-module.json wire--modules--fieldtype--fieldtypecomments--commentfilterakismet-module.json wire--modules--fieldtype--fieldtypecomments--commentform-php.json wire--modules--fieldtype--fieldtypecomments--commentlist-php.json wire--modules--fieldtype--fieldtypecomments--fieldtypecomments-module.json wire--modules--fieldtype--fieldtypecomments--inputfieldcommentsadmin-module.json wire--modules--fieldtype--fieldtypedatetime-module.json wire--modules--fieldtype--fieldtypefile-module.json wire--modules--fieldtype--fieldtypefloat-module.json wire--modules--fieldtype--fieldtypemodule-module.json wire--modules--fieldtype--fieldtypepage-module.json wire--modules--fieldtype--fieldtyperepeater--fieldtyperepeater-module.json wire--modules--fieldtype--fieldtyperepeater--inputfieldrepeater-module.json wire--modules--fieldtype--fieldtypetext-module.json wire--modules--fieldtype--fieldtypetextarea-module.json wire--modules--fieldtype--fieldtypeurl-module.json wire--modules--inputfield--inputfieldasmselect--inputfieldasmselect-module.json wire--modules--inputfield--inputfieldbutton-module.json wire--modules--inputfield--inputfieldcheckbox-module.json wire--modules--inputfield--inputfieldcheckboxes--inputfieldcheckboxes-module.json wire--modules--inputfield--inputfielddatetime--inputfielddatetime-module.json wire--modules--inputfield--inputfieldemail-module.json wire--modules--inputfield--inputfieldfieldset-module.json wire--modules--inputfield--inputfieldfile--inputfieldfile-module.json wire--modules--inputfield--inputfieldfloat-module.json wire--modules--inputfield--inputfieldform-module.json wire--modules--inputfield--inputfieldhidden-module.json wire--modules--inputfield--inputfieldimage--inputfieldimage-module.json wire--modules--inputfield--inputfieldinteger-module.json wire--modules--inputfield--inputfieldmarkup-module.json wire--modules--inputfield--inputfieldname-module.json wire--modules--inputfield--inputfieldpage--inputfieldpage-module.json wire--modules--inputfield--inputfieldpageautocomplete--inputfieldpageautocomplete-module.json wire--modules--inputfield--inputfieldpagelistselect--inputfieldpagelistselect-module.json wire--modules--inputfield--inputfieldpagelistselect--inputfieldpagelistselectmultiple-module.json wire--modules--inputfield--inputfieldpagename--inputfieldpagename-module.json wire--modules--inputfield--inputfieldpagetitle--inputfieldpagetitle-module.json wire--modules--inputfield--inputfieldpassword-module.json wire--modules--inputfield--inputfieldradios--inputfieldradios-module.json wire--modules--inputfield--inputfieldselect-module.json wire--modules--inputfield--inputfieldselectmultiple-module.json wire--modules--inputfield--inputfieldsubmit--inputfieldsubmit-module.json wire--modules--inputfield--inputfieldtext-module.json wire--modules--inputfield--inputfieldtextarea-module.json wire--modules--inputfield--inputfieldtinymce--inputfieldtinymce-module.json wire--modules--inputfield--inputfieldurl-module.json wire--modules--jquery--jquerywiretabs--jquerywiretabs-module.json wire--modules--languagesupport--languageparser-php.json wire--modules--languagesupport--languagesupport-module.json wire--modules--languagesupport--languagesupportfields-module.json wire--modules--languagesupport--languagesupportpagenames-module.json wire--modules--languagesupport--languagetabs-module.json wire--modules--languagesupport--processlanguage-module.json wire--modules--markup--markuppagefields-module.json wire--modules--markup--markuppagernav--markuppagernav-module.json wire--modules--pagepaths-module.json wire--modules--pagerender-module.json wire--modules--process--processfield--processfield-module.json wire--modules--process--processforgotpassword-module.json wire--modules--process--processhome-module.json wire--modules--process--processlist-module.json wire--modules--process--processlogin--processlogin-module.json wire--modules--process--processmodule--processmodule-module.json wire--modules--process--processpageadd--processpageadd-module.json wire--modules--process--processpageclone-module.json wire--modules--process--processpageedit--processpageedit-module.json wire--modules--process--processpageeditimageselect--processpageeditimageselect-module.json wire--modules--process--processpageeditlink--processpageeditlink-module.json wire--modules--process--processpagelist--processpagelist-module.json wire--modules--process--processpagesearch--processpagesearch-module.json wire--modules--process--processpagesort-module.json wire--modules--process--processpagetrash-module.json wire--modules--process--processpagetype--processpagetype-module.json wire--modules--process--processpageview-module.json wire--modules--process--processpermission--processpermission-module.json wire--modules--process--processprofile--processprofile-module.json wire--modules--process--processrole--processrole-module.json wire--modules--process--processtemplate--processtemplate-module.json wire--modules--process--processuser--processuser-module.json wire--modules--session--sessionhandlerdb--processsessiondb-module.json wire--modules--session--sessionhandlerdb--sessionhandlerdb-module.json wire--modules--session--sessionloginthrottle--sessionloginthrottle-module.json wire--modules--system--systemupdater--systemupdater-module.json wire--modules--textformatter--textformatterentities-module.json wire--templates-admin--debug-inc.json wire--templates-admin--default-php.json EDIT: if someone is working with translations on an local Windows environment, there is a problem with the admin menu. Take a look at this thread. You have to edit one core file: wire/modules/LanguageSupport/Languagetranslator.php. In line 207 replace DIRECTORY_SEPARATOR with '/' Unfortunately this is not fixed until now..
    2 points
  15. Here are some API additions to the dev branch, primarily for WireArray/PageArray/etc. I've found these very handy lately, and would have on almost any project I worked on, so decided they'd add value to the core. I'll add these to the cheatsheet once 2.4 replaces 2.3, but for now, here they are. The examples here use PageArray, but note that these API additions apply to any WireArray derived type, not just PageArray. WireArray::implode() Implode all elements to a delimiter-separated string containing the given property from each item. Similar to PHP's implode() function. Usage: $string = $items->implode([$delimiter], $property, [$options]); Arguments: $delimiter - The delimiter to separate each item by (or the glue to tie them together). May be omitted if not needed $property - The property to retrieve from each item (i.e. "title"), or a function that returns the value to store. If a function/closure is provided it is given the $item (argument 1) and the $key (argument 2), and it should return the value (string) to use. [$options] - This argument is optional. When used, it's an array with modifiers to the behavior: skipEmpty: Whether empty items should be skipped (default=true) prepend: String to prepend to result. Ignored if result is blank. append: String to prepend to result. Ignored if result is blank. Examples: $items = $pages->find("template=basic-page"); // render all the titles, each separated by a <br>, for each page in $items echo $items->implode('<br>', 'title'); // render an unordered list of each item's title echo "<ul><li>"; echo $items->implode('</li><li>', 'title'); echo "</li></ul>"; // same as above, but using prepend/append options, // this ensures no list generated when $items is empty echo $items->implode('</li><li>', 'title', array( 'prepend' => '<ul><li>', 'append' => '</li></ul>' )); // same as above, but with all items now presented as links // this demonstrates use of $property as a function. note that // we are also omitting the delimiter here as well, since we don't need it echo $items->implode(function($item) { return "<li><a href='$item->url'>$item->title</a></li>"; }, array('prepend' => '<ul>', 'append' => '</ul>')); WireArray::explode() Return a plain array of the requested property from each item. Similar to PHP's explode() function. The returned PHP array uses the same keys as the original WireArray (if that matters). Usage: $array = $items->explode($property); Arguments: $property - The name of the property (string) to have in each array element (i.e. "title"). You may also provide a function/closure here that should return the value to store. When a function/closure is used it receives the $item as the first argument and the $key (if needed) as the second. Examples: // get an array containing the 'title' of each page $array = $items->explode('title'); // get an array containing the id, url and title of each page $array = $items->explode(function($item) { return array( 'id' => $item->id, 'url' => $item->url, 'title' => $item->title ); }); WireArray::data() Store or retrieve an arbitrary/extra data value in this WireArray. This is exactly the same thing that it is jQuery. I've personally found this useful when building search engines: the search engine can store extra meta data of what was searched for as a data() property. Then any other functions receiving the WireArray/PageArray have access to this additional info. For example, the search engine portion of your site could populate an array of summary data about what was searched for, and the render/output code could render it to the user. Usage: // Setting data $items->data('key', 'value'); // Getting data $value = $items->data('key'); // Get array (indexed by key) of all data $values = $items->data(); Arguments: The above usage section explains all that's needed to know about the arguments. The only additional comments I'd make are that 'key' should always be a string, and 'value' can be anything you want it to be. Example: function findSkyscrapers() { $floors = (int) wire('input')->get->floors; $year = (int) wire('input')->get->year; $items = wire('pages')->find("template=skyscraper, floors=$floors, year=$year"); $items->data('summary', array( 'Number of floors' => $floors, 'Year constructed' => $year )); return $items; } // the render function can focus purely on output function renderSkyscrapers($items) { echo "<h2>You searched for:</h2>"; // render the summary of what was searched for foreach($items->data('summary') as $label => $value) { echo "<p>$label: $value</p>"; } echo "<h3>Skyscrapers found:</h3>"; // note use of new implode() function, though a foreach() would be just as well here echo $items->implode(function($item) { return "<p><a href='$item->url'>$item->title</a></p>"; }); } WireArray::and() WireData::and() Return a new copy of the WireArray with the given item(s) appended. Primarily as a syntax convenience for various situations. This is similar to jQuery's add() and andSelf() functions, but I've always felt "add" implied adding something to the original rather than creating a new combination, so went with "and" in this case. The term "and" is actually a reserved word in PHP, so you can't usually have a function named "and()", but through the magic of hooks, ProcessWire can. This function should reduce the instances in which you'd need to do "$a = new PageArray();" for example. Usage: // create a new WireArray with $items and $item (appended) $myItems = $items->and($item); // create a new WireArray with $items and $moreItems (appended) $myItems = $items->and($moreItems); // create a new WireArray with $items and $item (prepended) $myItems = $item->and($items); // create a new WireArray with $item and $anotherItem (appended) $myItems = $item->and($anotherItem); // create a new WireArray 4 items $family = $pappa->and($mamma)->and($brother)->and($sister); Examples: // generate breadcrumb trail that includes current page foreach($page->parents->and($page) as $item) { echo "<a href='$item->url'>$item->title</a> / "; } // check if page or its children has a featured checkbox if($page->and($page->children)->has("featured=1")) { echo "<p>Featured!</p>"; }
    1 point
  16. There aren't many tools I look forward to using every single day. PW has always been a joy to use and this release makes it even more so. Thanks Ryan and everyone who worked on this release!
    1 point
  17. Lightboxes don't manage / solve the URL rewrite method though. I guess Pinterest is using backbone.js. http://backbonejs.org/#Router
    1 point
  18. Hi and welcome to PW bram, Q1. The tabs are achieved with jQuery UI https://jqueryui.com/tabs/, and they are a front end thing, not something particular to ProcessWire. All you have to do is follow the instructions there, and build the wanted markup with PW. Of course jQuery Ui is not your only choice for this http://www.jqueryrain.com/example/jquery-tabs/ Q2. Yes, with lots of work. And no, there are no modules for that.
    1 point
  19. sorry to interrupt the talk about teflon guys If you want a set of pages it's generally better to use find() and try to do everything with one selector. It's actually a nice exercise to try to achieve complex sets of pages with only one selector edit: what I'm calling "one selector" above, is not actually one selector, but a group of selectors in one find().
    1 point
  20. Filed an issue, as I was able to reproduce this. https://github.com/ryancramerdesign/ProcessWire/issues/358
    1 point
  21. Maybe turn on debug mode... ... (int) $user ... "Notice: Object of class User could not be converted to int" I'm not sure about the context where you say it doesn't work but these works always $user === $page->createdUser (if same object) $user->id == $page->createdUser->id (if same id)
    1 point
  22. what's about: echo (int) $user->id === (int) $l->createdUser->id; ?? EDIT: deleted first content because have read the lowercase char "L" as a number one (1).
    1 point
  23. hey renobird, I'm not sure if someone including Ryan could give a proper answer to that, but searching for enhancements with PHP 5.3.8 or looking only to the fixes between 5.3.3 and 5.3.8 http://php.net/releases/5_3_4.php http://php.net/releases/5_3_5.php http://php.net/releases/5_3_6.php http://php.net/releases/5_3_7.php http://php.net/releases/5_3_8.php are good points to rethink about upgrading PHP. Otherwise you just have to try, I think. EDIT: Ok, while writing my answer, Ryans answer came in, and he can give a proper answer! (I haven't thought)
    1 point
  24. Well I see that you are wanting to rename it based on the POST value for qquuid. My module is not designed to rename based on user supplied values at upload time, but rather standard formats set up in the config based on the values of PW fields. You could use my module to rename the file to the value of a qquid field. The only catch is that the field would have to be saved before the file was uploaded. You have got me thinking that maybe my module would benefit from the ability to rename a file at any time if the value of a field used in the rename rule is changed.
    1 point
  25. bbeer, I was in a hurry and didn't explain something. You don't have to use the IDs in this case. Same thing could be achived by: $parents = $page !== $page->get('/holidays/') ? $page : $page->children; and, in the selector; $reisen = $page->find("parent=$parents, sort=reise_abfahrt"); Just for reference
    1 point
  26. @pwired: Thats sounds cool. But if you google me on older posts you'll see that I have basic PHP questions on the forum. So i'm not that experienced. I'm just addicted to read/watch everything about web-design & the last year it was mainly ProcessWire. I read all processWire forum posts, and read allmost all source code of ProcessWire. ( loads of it I don't understand yet) I will read all the source code a second time (or some multiple times). So my understanding of the code will be a little bit better step by step.
    1 point
  27. Yes, the original BBC article is here: http://www.bbc.co.uk/news/technology-18819338 The entire world of internet advertising is, I think, very dodgy. I have had two clients over the last couple of years who I have lost because they moved from traditional advertising to internet advertising. Both have now returned as their internet advertising failed to live up to the hype - these guys were using proper agencies too, not just doing it themselves. The problem is that response does not necessarily turn into sales. Personally, I think a major issue is the company Facebook page. If an advert drags you to a facebook page, you are faced with something that is not unique, has predictable tools and basically, looks pretty much like the competition. Also, any calls to action are relying on live posting (which slides down the page) and the written reaction from other posters. If the advert drags you to a bespoke website that is well designed, it can be stuffed with information, calls to actions, love and honey. Look at it this way. If you were Amazon.xx would you want people to be taken to Facebook or to Amazon?
    1 point
  28. With Lazy Cron you will not be able to guarantee exactly when a task will be run - a page on the site will need to be loaded, just as you noted. You could skip lazy cron altogether and use cron directly on your server, or you could use the technique that Ryan mentions at the bottom of: http://modules.processwire.com/modules/lazy-cron/ (How to make it not-lazy) If you are running your site on a shared host, you will probably find a tool in your control panel for setting up and managing cron jobs. If you don't have a control panel, you can simply google it and you'll get lots of tutorials: https://www.google.com/search?q=limux+manage+cron+job
    1 point
  29. Just wanted to point out to others that if you are using this (and the Map Markup module) along with zurb foundation (I am still testing, not convinced it's worth the bloat) and you come across an issue with the zoom controls looking not right, it is due to: img { max-width: 100%; } I just added this to my site's css to override this and it seems fine again: .gm-style img { max-width: none; } Hope that helps someone else out.
    1 point
  30. 1 point
  31. Great work Ryan! I've already been using the new stuff for a while now but reading this announcement reminds me of how much actually changed or has been added since 2.3 stable. And all for the good. Awesome.
    1 point
  32. Thanks for ProcessWire. The new admin theme really makes it feel years ahead of the old version and the new API features and little improvements are great. Maybe you can update and extend the Roadmap?
    1 point
  33. This is pretty sweet Great stuff, Ryan!
    1 point
  34. german translation for PW 2.4 is ready and waiting for pull-request. In my case there's a problem with translation of /wire/templates-admin/ files. Not sure, what's the problem here. Maybe it's only in my environment? But Ryan already has this on his to-do list.
    1 point
  35. Update: version 1.3.0, just pushed to GitHub, adds support for repeaters -- or, to be more precise, support for saving revision data for fields that are within repeaters. Repeaters being pages after all, it seemed most logical to treat them as such. If repeater field added to a template for which version control has been enabled contains fields that are also under version control, values of those fields will be stored just like they would be for the main page (page containing the repeater field). I'm not confident that my explanation made any sense, so let's just say that this should be self-evident once you try it. Main point is that instead of saving repeater values on per repeater basis the module is treating individual repeater fields (or repeater field fields..) separately Another thing to note is that snapshot feature added in previous update is now module called PageSnapshots. It's still bundled with VersionControlForTextFields and initiated (and automatically installed) by VersionControlForTextFields init() method, so this shouldn't change anything. I'm simply trying to keep the "core" version control module as lean as possible. Once again, I'd suggest making sure that things work properly before putting this update into real world use. There have been a lot of changes and something could've broken. I've tried to write and run tests vigorously, but those definitely won't catch all issues.. yet
    1 point
  36. @Sinmok, From your example you are trying to add a tooltip. I don't know what front-end framework you are working with on your website, however with Zurb Foundation 4 you can do a tooltip using Hanna Code as follows: Your Type would be Text/HTML. Then you just add the Hanna Code in a field that supports Hanna Code. This may not answer your specific request for having Hanna Code within Hanna Code, but it does show how a tooltip can be added using Hanna Code. Good Day.
    1 point
  37. Nice work mvdesign! Very attractive look and lots of good thinking here. We* are actually working on a second core admin theme option that is quite similar in many ways to the look you've posted here (the overall layout of major elements is very much the same with regard to masthead and sidebar). Once released, I'm imagining it will also serve as a very good starting point for taking your design here to a full admin theme. *I say "We" because I assume I'll be working on it here soon too, but so far all the work has been done by someone else.
    1 point
  38. First one is brilliant. I really like how simple and clean it makes things look. Great job!
    1 point
  39. Using modules for this stuff is nice if you are building functions you'll be re-using on multiple sites. But for the sake of simplicity, I usually put my shared output generation functions just in a common include file like this.
    1 point
  40. You are right that repeaters add overhead. Think of it this way: each repeater item is itself a page. So if you are loading 1 page that has 5 repeater items, then you are actually loading 6 pages. ProcessWire can deal with lots of pages no problem, but if you start dealing with lots and lots of pages with lots and lots of repeaters, then it's good to be aware of potential overhead. Autojoining your repeater won't help, but autojoining the fields in the repeater can help.
    1 point
  41. As being a active member of this sports club, i've been asked to take over the website-development, so i'm developing this site in my spare time. http://tbe1844.de Developed first with Twitter Bootstrap v.2, but then converted it to version 3, which went comparatively smooth and easy. Every section could be managed by the staff from this section by restricting admin access for paths to users. This is still in development, especially the event managment needs some engagement. It is planned that it should be easy to generate a view of events distinct to a section or team and display this in a calendar or list... I implemented also a ranking list for the beach volleyball teams. It is based on the ELO-system used by chess or table soccer, the ranking points you get for a win or loss are calculated based on the points for both teams before the game. The ranking list is private, so if you wanna take a look, send me a pn. Modules used: Image thumbnails Fredi Hanna Code (you can insert tooltips to persons and locations in the editor) Page edit per user Map Marker
    1 point
  42. Would something like this work? (written in browser, so might need tweaking). This should print all events sorted by date descending, but grouped by day and sorted by time ascending within the day. $allEvents = $pages->find("parent=/events/, sort=-date"); while($allEvents->count()) { $event = $allEvents->first(); $from = strtotime(date('Y-m-d 00:00', $event->getUnformatted('date'))); $to = strtotime("+1 day", $from); $events = $events->find("date>=$from, date<$to, sort=date"); echo "<h3>Events on " . date('F j, Y', $from) . "</h3>"; foreach($events as $event) { echo "<p><a href='$event->url'>$event->title</a> $event->date</p>"; $allEvents->remove($event); } }
    1 point
  43. I don't see reference to your date field in the code block, so I'm not totally sure I'm answering right… but you can sort by date by adding this to your selector "sort=date_start" or "sort=-date_start" for reverse. You can also stack sorts, i.e. "sort=date_start, sort=title". With regard to formatting, it doesn't matter unless you need to specify an actual date in your selector string. Should that be the case, you would just want your date to be in a format that is either a unix timestamp, or a string recognized by PHP strtotime(). Meaning, all the following would be valid and equivalent in a selector: date_start>=today date_start>=1365436783 date_start>=2013-04-08 date_start>=4/8/2013 date_start>=8.4.2013 date_start>="April 8, 2013" When a date is coming in via user input (like from a datepicker), I'll usually convert it to a unix timestamp before putting it in the selector. That's because: even though we could stuff the user-input date string into the selector, a unix timestamp (which is an integer) is much simpler and safer to validate as user input. if($input->post->date) { $date = strtotime($input->post->date); if($date) $selector = "date_start>=$date"; }
    1 point
  44. lovely boot-strap it.does http://processwire.com/api/include/
    1 point
×
×
  • Create New...