Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/26/2013 in all areas

  1. hey community1 for about 3, 4 months, the task "say hello to pw-community" was my faithful companion on my daily tasklist, but now its really time to say hello, hello community! you may dont know me but for me as forums-consumer it feels a little bit like i always knowing you, at least the main characters here, so, mh: hi, i'm andy! :] some words about me i'm 29yr old, live in the east of the banana republic germany and run a small agency focussed on web & communication. most of the work is getting done by myself, so at least, the agency is only for them who questioned me "andy, what if you are getting sick or... lost?", you know. i am an autodidact-one, starting in ~2003. i'm not really the geeky one but for sure i love to see my functions working, even now in pw and without ugly workarounds². i'm also in love with the graphical site of the job. at least i walked alone most of my way, so i'am focussed on some other points, too. how i found you after years of beeing the "slave" of my daily workbench i decided to take a look over my joomla-horizon and the first i found was this pw. i watched the videos of ryan describing pw, i looked into the forums and i decided to stay here for a while and till today i'am impressed by the friendliness and helpfulness in this place and at least, yeah, by the answers itself. ;D well, back to offtopic, as already mentioned i come from joomla and since january i'm on the pw-trip. after intensive testing i began to porting/building some kind of groupware: clients/projects/milestones/tasklist/calender/multi-sync/documentation/data-management/billing/communication/billing and so on. actually i try to implement it as a modul with fields/fieldtypes. a webapp for local/mobile allready running nearly stable (working on w7x64 & a.i.3gs) and for firefox i will put out 2 addons. i hope that i could share a stable site profile and the webapp till the end of april. so if somebody is waiting for such kind of stuff and maybe has some questions or requests... let me know. :] after this, i'll create some kind of a migration-automatic and migrate my joomla-websites to pw. i'll try the multi-domain-solution of pw for this. also i think about a joomla look'n'feel in pw-admin (not for me and only just a little bit,- but for the beginners under the pw-starters coming from joomla), so maybe more joomla-overloaded ones may have a good time, too. (please notice that i don't wanna slander the J!-community or their work) in general my next open source (and pw) projects focussed on automate some basic stuff (also seo/scheme), bundle functionality from a few local programs, keeping availability on other platforms (e.g. via xulrunner/webapp, js&local storage/db, or python) and compatibility to all those data-services to making more people able to run their own cms/tasklists/social-activities/clouds and keeping their private data where it belongs to. apropos: some point that i wont miss in this context i am a little bit pissed off a few people around the world, maybe called "the markets" or fiat-banks, their puppets who claim to speak for us and their shiny matrix they pulled around too many of us since today and so i have to do something against it, i thought. it depressed me a long time and i tryd many things but i only got more sick. so my only idea now is to give all my attention to the open source community, helping to speed up the slowly upcoming "collective intelligence" in this world wide network and so making the television a lil bit more yesterday. in fact, the revolution will not be televised. as citizen of one of the worlds most corruptest nation i totally agree with these words. i'm born in eastern germany, so this is not the first paradigm-change in my life. but i hope, its the last one. so, thats it. i'm happy to check this task done. sorry for my definitly not so fluffy english and sorry @ tl;dr, i usally keep it shorter. many thanks to ryan and best regards to you people. lets hope the world will turn around and go an also fluffy way. have a good time & thank you for your audience. :] andy p.s.: hallo landsleute! :]
    6 points
  2. I've not been keeping up to date with the forums recently due to work, but couldn't see a topic about patting ryan on the back for the awesome work he's done on the new modules section layout: http://modules.processwire.com/ Amazing job ryan - it looks fantastic!
    5 points
  3. The Beach Boys before and after Processwire Before: After: https://www.youtube.com/watch?v=9kg-pYItaj8
    5 points
  4. Hey everyone. I've created another screencast for a ProcessWire site I developed. Another you ask? My first one was of my own site, here. I developed this website for a Toronto-based opera singer from Norway. Nils needed a website where clients could go to learn about him, listen to his music, watch his videos, look at pictures and see where he'll be performing. The website features custom Responsive Design and a separate mobile image gallery for phones and devices. Read about the project and see some screenshots here, visit the website here, or view the . The admin theme used is a modified version of an older version of the Teflon admin theme.
    3 points
  5. Hello all! My name is Lorenzo, I'm from Italy, and this is my first post here. I want to thank all the members of this clever community for the fervent partecipation and for the knowledge you guys are spreading to other people like me. Everything here feels clear and understandable, that's why I've decided to evolve my (poor at the moment) experience in the php language. You guys are motivating me I'm trying to achieve the whole knowledge to start a project that is going to be a site with payment membership, with (hopefully) thousands of users, each one or them with its own personal page, containing photos/videos and informations. Since I'm not in hurry to build everything in seconds, I'm studying PW API's and testing what I'm learning day by day,with satisfaction In the meanwhile I'm trying to clear my mind toward a payment system that can accomplish "cash to credit conversion" (ala Istockphoto or other image banks), where people can pay a predefined amount of cash and the system translates them to virtual credits to be used. Does anybody have some further informations about this topic? Sorry for my lack of english guys, hope you get the point Lorenzo
    3 points
  6. Hi there, I started to convert a HTML template in a ProcessWire site and so far I'm delighted (I'm a MODx refugee also). Right now, my main problem is a psychological one: when I think "page" I see a rectangular piece of paper not doing much . Anyway, I created a checkboxes Page field like here and although weird at first, I already see some of the benefits for doing it that way. I wonder how to make the checkboxes checked when I edit a page using a template containing those checkboxes. My searches on this forum had no results. Best regards, Gabi
    2 points
  7. http://processwire.com/talk/topic/941-accessing-values-from-%E2%80%9Cparent%E2%80%9D-template-when-page-is-rendered-within-another-template/ http://processwire.com/talk/topic/1510-templatedisplay-mode/ There's more but can't find. So you can also do: $somepage->contextpage = $page; echo $somepage->render(); And in the $somepage template if($page->contextpage->id == 1001){ ..
    2 points
  8. http://processwire.com/api/cheatsheet/?filter=login&advanced The InputfieldPassword::matches isn't in there since it was also not in API documentation and also belongs to the InputfieldPassword module which is not part of the cheatsheet. Not every method there is is on the cheatsheet, lots of more advanced stuff is left out. Soon we gonna add new stuff that's added recently in 2.3.
    2 points
  9. site.grate it is.very good ! what kind singer.man smoken tobaccos ? ----------- editamos:
    2 points
  10. fendly.pw review some one post.here http://www.cmscritic.com/introducing-processwire-2-1-2/#comment-13813
    2 points
  11. Welcome Andy. Must have felt good to strike this from your to do list
    1 point
  12. I feel bad getting likes for ryan's work... there was me thinking I was late noticing this as I've not been around in a while
    1 point
  13. Beautiful site Tina, good job! /k
    1 point
  14. I am not sure of the good or bad, but generally I find the idea of passing any code via a field makes me uncomfortable. However, you can do other things. For instance, if you have various styles in a CSS file, you can add those styles via a field that just adds the class name to the element. Or, you can include entire style sheets and JS scripts using a field for the page: <script src="<?php echo $page->myscriptfield; ?>" ...... The nice thing about working that way is that you can create a series of style sheets and JS scripts and then the client can choose them using a page field as a select. You then don't have the worry of someone entering something in the field that breaks the entire page, and you can fine tune your "themes" without having to edit pages. If they go together in pairs, you can create a template for your page field selects that has three fields: title - nice description js - text field with the name of the script css - text field with the name of the style sheet Using a page field, you select using the nice description, then use the other two fields to call up the JS and CSS. Lots of variations possible without entering any code into a field.
    1 point
  15. thanks raymond.. before got me in stitches ...watching again
    1 point
  16. If you create a new child page, which can have multiple templates, the creating page process can't know which template you gonna choose. So it doesn't work the way you doing. Also in this case it wouldn't make sense as you don't know which template context should be displayed. BUT if you have a setup where the parent page template only allows for 1 particular child template (under Family settings of parent template) it does take that template for the page creation step and you'll see the title in context. The "name" field is built-in and a special field you can't change within fields setup. But you can have a simple autoload module that renames the label to what you like. Although I think it's not an issue to have it "name", I understand people want to name it different. A module like the HelloWorld.module, can be used as a starting point, with as hook and a function // in init() method add a hook $this->addHookAfter("InputfieldPageName::render", $this, "hookPageName"); and add a function below with this: public function hookPageName(HookEvent $event){ $field = $event->object; $field->label = "URL segment"; }
    1 point
  17. Maybe this is even better http://modules.processwire.com/modules/template-decorator/
    1 point
  18. You can do this: if($user->pass->matches("yourpassword")){ // correct } But normally you just login and if it fails you know it's wrong. if($session->login("nam","password")){ // logged in }
    1 point
  19. You better all come to the irc #processwire chanel. ;-)
    1 point
  20. Greetings mindplay.uk, Now I see what you mean. I was imagining different uses. What you're talking about reminds me of the hardwired features in CMSs like Joomla, where there is a "blog" view and "list" view for articles (pages). After years of using Joomla, I was happy NOT to have that system any longer. In ProcessWire, I simply create a second template whose function is to pull the necessary fields from the page(s) I need for my "list" view. Yes, it's a second template, but it's completely flexible how I compose that "list" view. By contrast, the Joomla system essentially forces the "list" view to be composed of certain "fields" and pre-determined layouts. In ProcessWire, we define where someone enters the "list" and "full" views, so it makes sense to me that we would use a separate template for that. Thinking this through, if there were essentially two separate views for each template, I suppose we could have a way to define which one is rendered from which entry point. But then there's the issue of how many possible alternate views might exist. I'm working on a site now where -- in addition to the "list" and "full" views -- I also have views for "featured" pages. I can imagine even more variations. Always interesting... Thanks, Matthew
    1 point
  21. Just a note to anyone relying on w3schools tutorials, take a look at http://w3fools.com/ first.
    1 point
  22. Only if the template is in templates/ folder it works with both. But got caught on it on subfolders.
    1 point
  23. Do you extend Process? class ProcessYoutube extends Process { //... }
    1 point
  24. I have to admit that I like learning from videos and books. They help to get across bigger picture concepts much better than copying and pasting. They build a foundation. So when it does come time to writing code (or copying pasting it), you've got the understanding of it. The problem with copying/pasting is that it's like building without a foundation, which can be dangerous. When you've got the foundation, all the other pieces just kind of fall into place. I think this is especially true of ProcessWire. If you understand the big picture and how simple it is, the rest of it becomes simple as well. And there's no reason not to learn the foundation, because it's so darn simple. It seems like a lot of people start working with ProcessWire while thinking of it in the context of some other CMS. So there is inevitable "un-learning" that has to take place, as people are looking for complexity where there isn't. This is a recurring theme. What I think would do an even better job of establishing the foundation would be two printable PDF documents that are maximum 1-printed page each: ProcessWire in a nutshell, a cheat-sheet – Covers everything you need to know to understand a typical site profile. Pages, Fields, Templates, then $page, $pages, and PageArray. All you need to know about PHP to use ProcessWire – This one would focus on the general PHP concepts necessary to use it like a template engine with ProcessWire. Covers things like PHP tags, double-vs-single quotes, echo, if(), foreach(), and comparison vs. assignment.
    1 point
  25. The trick with counters is to remove yourself from skewing the count. I find that when writing blog posts I load the page several times and this would increase the count several times. You could go a step further with diogo's code and do this to exclude your account (superuser) from increasing the count: if (!$user->isSuperuser()) { $page->counter += 1; $page->of(false); $page->save('counter'); $page->of(true); } echo $page->counter; Or you could do the same for multiple roles if you have different editors for your site (my example has some fake ones named "news" and "sports" below): if (!$user->hasRole('news') && !$user->hasRole('sports')) { $page->counter += 1; $page->of(false); $page->save('counter'); $page->of(true); } echo $page->counter; Just a thought
    1 point
  26. I like that idea. My inspiration was an aspect of Textpattern where images may be centrally stored and then referenced by an ID when used. That allowed the actual image to be replaced without updating the ID and so allowed for easy image replacement. I think your idea sounds ideal. Re: the cache issue, perhaps the solution could be that use of this setting for an image field would henceforth cause the value returned as the src URL for the field to be the URL but with a query string appended. There is some debate over there as to the string to append; it seems to me to make sense that something like a unix timestamp for when the field's content was changed would be ideal, then it would (I think) force most browsers to re-get the image only when it's actually changed.
    1 point
  27. As a brief answer before getting perhaps a more complete one from one of the more advanced PW crew If each user had a login and also their own page under say a template "client", you could make sure that only they can see their general client page by checking if their $user->name and the $page->name are the same, if it is, you are safe to output their content as only they will get to see the page content. Something like: if ($user->name === $page->name) { // show all the pictures and other member stuff } else { throw new Wire404Exception(); } This is all quite basic and you could turn on urlSegments so that you could have gallery on an additional page. Again only those who have the credentials to get to the client page will see the pages beneath it. I've used this method to create whole member areas, if you're interested I'll share with you what I did. In terms of the actual images that will be stored somewhere in assets/files/... you'll want to protect them somehow (unless protecting through obscurity is enough for your purposes) but will have to let one of the more advanced users advise on this. EDIT: To sum up, you could have the following page tree: Home About Clients (clients template) -- Joe Bloggs (client template) -- Jane Bloggs (client template) One thing that can get annoying is having to make sure you're creating both the user and the page and that they share the same name. As my editor was the person adding clients, I made a simple front end template for them to add clients through which created the user and the page at the same time. You could also just extend the built-in user template to add images and use that but I've found that in the long run having non user pages is more flexible for outputting data.
    1 point
  28. When you do something like this: $p = $pages->get('/some/other/page/'); echo $p->render(); …the $page API var is set to $p for the duration of the render() method. Meaning the original context ($page) is not visible to the system, only /some/other/page/. Once render() finishes, PW sets $page back to the original, if there was one before it. Perhaps we need to maintain an accessible stack of them for the API. But the way you could do it now would be to create an autoload hook, and save the value of $page from a ready() function, i.e. class Test extends WireData implements Module { public static function getModuleInfo(return array('title' => 'test', 'version' => 100, 'autoload' => true)); public function init() { /* needs to be here, but not used */ } public function ready() { $this->setFuel('originalPage', $this->page); } } In the above, you'd be setting a new API variable called $originalPage that would always have the originally loaded page so that you could refer to it when needed.
    1 point
×
×
  • Create New...