Leaderboard
Popular Content
Showing content with the highest reputation on 01/02/2013 in all areas
-
At the start of this new year I launched my new website: Didjee.nl (in Dutch only, sorry )7 points
-
Interesting, but too little too late as far as I'm concerned. I was all set to build my first EE site a month ago when they pulled that "license simplification" malarkey overnight, which sent me on a lengthy exploration of various CMS systems and eventually led me here. I can't really think of a reason I'd ever go back.3 points
-
ProcessWire Concatenate Fieldtype Fieldtype that concatenates the values from one or more other fields at runtime. The value can contain additional formatting and/or words as needed, which you define in your Concat field settings. Example Problem: Your system has a first_name and last_name field, and you want to have a separate full_name field composed of first_name and last_name, without redundancy. Solution: You would create a new Concat field, click the details tab, and enter "first_name last_name" (the fields you want to concatenate) in the settings. Other Potential Uses Having a field that combines the value of two or more others, without the redundancy of separately stored data. Defining a custom “label field” for select boxes, like those used with the Page field. Defining a custom label for your Page List that includes your own formatting. Defining an alternate variation of a text field that uses a different text formatter. Considerations The value for this fieldtype is generated at runtime and thus no data is stored in the database. This is good because there is no duplication. However, it also means that you cannot directly query a Concat field from $pages->find(), for example. If you happen to change the name of a field being used in a Concat field, you will have to update the name in your Concat field settings as well. By design, Concat fields do not inherit the text formatters of the fields they concatenate. You define these separately with the Concat field. Because this is a runtime-generated field, there is no Inputfield associated with it. How to Install Install the module by placing FieldtypeConcat.module in /site/modules/. Check for new modules on the Modules screen in the ProcessWire admin. Click Install for the Concat Fieldtype. How to Create a Concat Field Under Setup and Fields create a new field using type Concat. After entering the new field name and label, click Save. Click the Details tab and enter one or more field names. Separate them with whatever spacing and punctuation is appropriate. Optionally choose one or more Text Formatters. If you are not sure which, “HTML Entity Encoder” is a good default to use. Save. Add your new field to one or more Templates. How to access the value of a Concat field This is no different than accessing the value of any other field. If your Concat field has the name “full_name” then you would output its value like this: echo $page->full_name; Download PW Modules Site: http://modules.proce...eldtype-concat/ GitHub: https://github.com/r...FieldtypeConcat2 points
-
Just a very minor thing: when the trash is empty, it shows the link to empty it, however. I think this link should only be shown when there is something to trash actually.2 points
-
Super nice! Some comments: The "children count" on the page tree could be a bit lighter in color to differentiate it from the page's name. The standard greenish button doesn't look as modern and "popping" as the rest of the theme. I think the standard web browser button actually looks better (at least in Safari/Chrome). Not sure I like the Processwire-logo link. I see the admin as something strictly tied to my site which makes external links feel weird. Maybe the link could go to the "pages" page, instead - since this is your typical admin home page. Hidden pages in the page tree doesn't look hidden with that green color. Try using a lighter version of the color from the "not hidden" pages. Foldable boxes doesn't look foldable. Maybe position the "folding arrow" to the left of the box's title instead of to the far right. There's no active state on the submenu buttons inside a page (Content, Children, Settings, Delete, etc). This menu doesn't really look like a menu, but more of a content box. Maybe make it more similar to the sidebar in styling? A "View Site" button in the upper right corner would be nice. I really like where you're going with this! I'll keep an eye on Marine's future releases.2 points
-
Hi Folks, today we will learn how to set up a simple jquery plugin called calendario and fill events trough our admin backend. || ATTENTION || Modern Browser needed First of all, we need the jquery plugin. Grab your copy here: http://tympanus.net/...alendar-plugin/ Now create a new template file, lets call the file calendar.php In the next step we have to include all the needed files from the .zip package. You need the following .css files: calendar.css custom_2.css demo.css Just include them in the <head> </head> of your template file. Feel free to merge them together, so you could save some http connects. Now we need to include the needed javascript. Make sure you have included the latest jQuery library. Include the jquery.calendario.js and the modernizr.custom.63321.js right into the bottom of your template file. Save the calendar.php Now we will set up Processwire where the magic wil happen. We just need one new template. Create a new template called calendar. Assign the field headline to our template. Allow children to just use this template. Hit the save button. Now create a new Page as child of home and call it Calendar. Assign our calendar template to this page. Almost ready. Now we have to do some little scripting in our template file calendar.php Add this html markup to our calendar.php <div class="custom-calendar-wrap"> <div id="custom-inner" class="custom-inner"> <div class="custom-header clearfix"> <nav> <span id="custom-prev" class="custom-prev"></span> <span id="custom-next" class="custom-next"></span> </nav> <h2 id="custom-month" class="custom-month"></h2> <h3 id="custom-year" class="custom-year"></h3> </div> <div id="calendar" class="fc-calendar-container"></div> </div> </div> Now we have to call the javascript function, to get the calendar running. Just put this snippet right under the included jquery.calendario.js <script type="text/javascript" $(function() { var transEndEventNames = { 'WebkitTransition' : 'webkitTransitionend', 'MozTransition' : 'transitionend', 'OTransition' : 'oTransitionend', 'msTransition' : 'MSTransitionend', 'transition' : 'transitionend' }, transEndEventName = transEndEventNames[ Modernizr.prefixed( 'transition' ) ], $wrapper = $( '#custom-inner' ), $calendar = $( '#calendar' ), cal = $calendar.calendario( { onDayClick : function( $el, $contentEl, dateProperties ) { if( $contentEl.length > 0 ) { showEvents( $contentEl, dateProperties ); } }, caldata : { <?= getEvents(); ?> // this is our function to grab our events }, displayWeekAbbr : false } ), $month = $( '#custom-month' ).html( cal.getMonthName() ), $year = $( '#custom-year' ).html( cal.getYear() ); $( '#custom-next' ).on( 'click', function() { cal.gotoNextMonth( updateMonthYear ); } ); $( '#custom-today' ).on( 'click', function() { cal.gotoNow( updateMonthYear ); } ); $( '#custom-prev' ).on( 'click', function() { cal.gotoPreviousMonth( updateMonthYear ); } ); function updateMonthYear() { $month.html( cal.getMonthName() ); $year.html( cal.getYear() ); } // just an example.. function showEvents( $contentEl, dateProperties ) { hideEvents(); var $events = $( '<div id="custom-content-reveal" class="custom-content-reveal"><h4>Termine am ' + dateProperties.day + '. ' + dateProperties.monthname + ' ' + dateProperties.year + '</h4></div>' ), $close = $( '<span class="custom-content-close"></span>' ).on( 'click', hideEvents ); $events.append( $contentEl.html() , $close ).insertAfter( $wrapper ); setTimeout( function() { $events.css( 'top', '0%' ); }, 25 ); } function hideEvents() { var $events = $( '#custom-content-reveal' ); if( $events.length > 0 ) { $events.css( 'top', '100%' ); Modernizr.csstransitions ? $events.on( transEndEventName, function() { $( this ).remove(); } ) : $events.remove(); } } }); </script> We are almost finished, but we are missing some very essential, have a look to our javascript. We are calling a function named getEvents() This function will grab our events and fire it right to our calendar. So here is the code: function getEvents() { $events = wire('pages')->get("/calendar/")->children(); foreach ($events as $event) { echo "'$event->title' : '<span>$event->headline</span> ',"; } } Put this snippet above the javascript includes. We will now create our first entry. Go back to the PW admin backend and create a Child of Calendar. Title and name need the Date on which the event has to be displayed. You have to form a date in this format: mm-dd-yyyy e.g. 12-27-2012. The headline field is our Event description. Hit the save button, go to your site and enjoy your event calendar. With a little coding you could extend the calendar to let it look like mine attached as screenshot. Hope this was useful to somebody. Cheerio.1 point
-
Hey, I just thought it might be helpful to have a guide for your module's presentation: The Title The title of a module is an important part of it. It should kind of make the main function of a module understandable after the first reading. So there are some guidelines for naming a module: (via http://processwire.com/api/modules/) Here is a more extended list of some "module prefixes" and a short description for each: (via http://processwire.c...-module-naming/) The Description A good description is another important part of your module's presentation. Here is a short list of sections you could (or maybe should) include in it: General: The main function of your module How to use: A description of how to use your module which maybe includes some details the user won't see directly. Installation: If there is something special about the installation of your module you should add this to your description. Screenshots/-casts: It's awesome if you would take a picture of your module (if it changes or adds something the user is able to see). Or maybe a screencast if you like to. (Great example: http://processwire.c...ncy-admin-mode/) Links At the end of your post you should add some links like where the user can download the plugin and if you've added your module to the module section you should post the link here too. Module Section If you've posted your module already to the modules section you can easily copy it's contents there and use them for your post here or - of course - the other way around. I hope this post was helpful to you. Greets, Nico1 point
-
1 point
-
Hey Didjee, Looks terrific. Great show of ProcessWire's capabilities. I also browsed through your "online" portfolio and like the bright, colorful, "big screen" feel to everything you do. Even in Dutch, I get pretty clearly what's going on. Thanks for sharing, Matthew1 point
-
Nice site, the folding "sites" are a great idea. Only thing I want to suggest is to redo the shadow on the bottom of the colored boxes. Looks cheap in my opinion ( and it doesn't fit the background color really well).1 point
-
Looks really nice Didjee! The hover on the menu is a bit sluggish (slow) for my tastes but I like the site!1 point
-
OK, I think I'm getting there, I'm having to store my htdocs and db folders outside the "Applications" folder and symlinking to them using SymbolicLinker. Think I'll USB the files over initially as it will take days otherwise!1 point
-
Hi Luis, I get it... I'm just very happy to see such an deep application developed with ProcessWire. Keep us updated on your progress, and I look forward to the case study. Thanks again, Matthew1 point
-
Hi vanni, Welcome to the PW forum. I hope you've had a chance to give ProcessWire a test drive. I think you'll find it a more than suitable replacement/upgrade. You can achieve what you are after with TXP by using a plugin called cnk_versioning. The name is a bit of a misnoer, as it doesn't have anything to do with version control, but rather moves your pages,forms,css into the filesystem. That said, I sure hope you stick around and give PW a shot.1 point
-
Hi Matthew, i´m sorry, but i´m actually not seeking more beta testers. Almost 80% of the core developement has been completed. I´m now in huddle-together-mode and will create a new preview Video by next week. Please take note that this is a commercial project of mine. But I will write a detailed Case-Study after release of v1.0.1 point
-
Just updated these formatters for textile v2.5.1 which was released about an hour ago. HNY!1 point
-
Thanks guys. Btw, this module was prompted by the need that Renobird mentioned for multiple field labels with the Page reference input labels.1 point
-
Turns out that this was going to add more complexity than I was comfortable with for this field configuration. For instance, you've got an asmSelect and can select fields, but that only says what fields and order. It doesn't say what punctuation or other words you might want in there. For example, if I wanted to have my label composed of fields "first_name last_name" then I'd just want a space separating the two fields. But if I wanted it as "last_name, first_name" then I'd want a comma and a space separating the fields. Furthermore, lets say I wanted "last_name, first_name, Age: years_old". So it seems like more is needed than just the ability to select multiple fields. As a result, I made the FieldtypeConcat module instead, which takes care of all these needs and more. I had the subject of this thread in mind when creating the module, but there are plenty of other situations where this module may be worthwhile.1 point
-
Hi antknight That wouldn't work - like I wrote that would produce an error 500. However, I found the cause of the problem in the .htaccess file: #Options +FollowSymLinks Once I commented out this directive, the problem disappeared. I found the solution here: http://www.wallpaper...pache-t718.html And a general explanation of the directive here: http://www.webmaster...orum11/1962.htm I hope this helps others with the same problem. /Allan1 point