Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by BUCKHORN

  1. Thinking about this a little further. I wonder how difficult it would be to construct complete modules with a GUI and snippets. For example, the module builder would let you choose the hook or none, then it would build the method from the snippet and name you choose. Kind of like using PHP packages http://getcomposer.org/.
  2. I'd be happy to help with the code snippets idea. I already own codemorsels.com for exactly that purpose. Might be nice to have an online repository along with a PW module that can access those snippets directly. I'm also building a theme framework for PW and thought a snippet system would be nice for that. If you take the lead I'll assist.
  3. Thanks Apeisa! I knew it was something simple. I've been coding in php for years, and in the last couple of weeks I've been making this mistake repeatedly. I think it's because I've been coding more javascript which uses a single =. At any rate, thanks for the assist.
  4. I think i'm missing something obvious here. I want to add child pages each time a group page is created. My Group (when this is added, I want to add the two children and set their parent to "My Group") ----Workspace ----Calendar For some reason it's looping and creating this structure... My Group ----Workspace --------Workpsace ------------Workspace ...(infinite) Anybody know what's going on here? Is there any content which shows or explains the application flow in PW? I can understand why it's looping on the save method, but I don't understand how PW handles the request from start to finish so I can't figure out how to prevent this. public function hookAdded(HookEvent $event) { // this function only called after a new page added $page = $event->arguments(0); $templates = wire('templates'); if($page->template = 'group') { // todo: move to array and loop $workspace = new Page(); $workspace->template = $templates->get("workspace"); $workspace->parent = $page; $workspace->title = "Workspace"; $workspace->save(); $calendar = new Page(); $calendar->template = $templates->get("calendar"); $calendar->parent = $page; $calendar->title = "Calendar"; $calendar->save(); } }
  5. Sorry, i was calling it by the wrong name. Details tab: Entity encode file description/tags?
  6. There's a transliteration check box in the field config that rewrites the filename. If it's checked, that could be your problem.
  7. Parsimony, SiteCake and ImpressPages are good for drag & drop, however PW could be a drag and drop system. Sign up for a squarespace demo. You can build something as robust as that using PW. They have three edit modes... admin w/ a page tree like PW, style editor, and layout editor. PW only needs the layout editor. The style editor could be built with existing fields. There's a great realtime css editor that works like the squarespace css editor, and it's free, if only I could remember what it was called. The squarespace layout editor is pretty nice and it would be awesome to have something like it for PW. Eventually I'll build one, but that's such a low priority it may never get done. I agree with your post, but I think what I was after was something more personal, basically I want to get to know you, as a person, "what makes Matthew tick?". That's what helps build trust and an emotional bond. Through our dialog I'm getting to know you better, but when you are interacting with new clients, you don't have as much time to create a bond with them. If you don't make the connection what's to stop them from finding someone else they bond with to do the work? PW is freely available to everyone, so you have no competitive advantage there... and PW is only as great as the developer using it. You smell what i'm steppin' in? The value to the client is YOU, your skills, your intelligence, your appreciation for quality and your concern for the needs of your clients. Any schmuck can build a website, whether it's built in PW, WP, Drupal, etc. What makes YOU different? I think if you addressed this, you'd be more successful with the type of clients that recently chose other platforms. Maybe even ask the other two if they chose the developer or if they chose the platform. Probably a little of both, but the feedback would be invaluable to you. Better than any feedback a long winded blowhard like myself could give you.
  8. Well said, this resonates with me and I suspect if you told me why these things are important to you I may share some of your values. I think this statement could be further developed into a very effective personal branding statement. Your branding statement will help connect to the types of clients you are looking for. http://www.entrepreneur.com/article/228631#ixzz2hNV6MBNo Haha, yep, I've done that.
  9. I think you mean fantastic beard. Ha! Of course he could use a fantastic pair of oversized sunglasses to complement that beard.
  10. yeah, no doubt. PW isn't a hard sell to a dev. I've had both types of clients. Ones who are more concerned about the results and not the platform and ones that specifically want to use a platform like Drupal or WP. I've never had one flip though. I'm not "selling" them PW. I don't even mention PW to a low tech client, I just tell them I'm building them a custom website with the features they are requesting and give them a price as Willy C mentioned. I will mention PW to a client who's more tech savvy. In that case I usually give them a 2-3 choices with a quick pro/con list and ballpark prices along with my personal recommendation. Then I let them choose. If price is a concern and it usually is, they will choose the cheapest platform that meets their needs, which is PW in most cases. Matthew, I'm sure you've tried these approaches and found your current approach to be the most beneficial to you. It just seems like such a struggle to me. I can tell you are a smart person though, and in this case, I think you would know best. I'm not trying to hassle you and i'll shut up now.
  11. Hi, this is great. Thanks for taking the time to post, I'm sure this will be helpful to a lot of folks. I'm not sure I fully understand and I'm new to PW, so this may not be helpful. Maybe you can use different templates for different languages. For example... make three templates with these names... ar.php fr.php en.php The template files mention above can display a table of contents or a blog style list of articles or a portal page (whatever you want). You can also create the template in the admin w/o the accompanying template file and it will disable access from the public to your urls. E.g. mysite.com/fr/ will return a 404, however mysite.com/fr/sports will be accessible. A module would work too. Then you can use $page->rootParent->template to determine what lang you are using. This way you don't have to hard-code the ids. I would also turn the _init.php functionality in site/config.php and add the following switch there. Why? Because _init.php is called first before the template. You can get all the dirty work out of the way and ensure that something like a redirect happens before the overhead of loading up template files. switch (str_lower($page->rootParent->template)) { case 'fr': $homepage = $pages->get("/fr/"); // French page URL break; case 'ar': $homepage = $pages->get("/ar/"); // Arabic page URL break; case 'en': $homepage = $pages->get("template=en"); // Homepage URL break; default: $session->redirect('/en/'); } I'm not sure that even matters though. I don't think you'll need to identify the language if you are using root parent. You just need to print all of the links under the root parent. This will display a menu only for the current language. If you want to display a menu including all languages, use the switch statement without the breaks, put the foreach below into a function, then call the function that creates the links inside of each case. There are easier ways to print the full tree, but over time you may find a switch statement handy, because you can use logic specific to each language. foreach ($page->rootParent->children() as $child) { $class = $page === $child ? " class='on'" : ''; echo "<li><a$class href='{$child->url}'>{$child->title}</a></li>"; } I would also make my tree like this just to normalize the logic and it will take care of the class=on issue you were having: Home EN (en.php template) Politics (category template) Sports AR (ar.php tempalte) Politics Sports FR (fr.php) Politics Sports Urls would look like: mysite.com/EN/politics mysite.com/AR/sports - for SEO I'd use the native language in the url though (which is probably what you are doing). E.g. mysite.com/ar/الرياضة The only caveat about this approach (regarding the page tree), you'll need to redirect the home page, which is probably fine. E.g. mysite.com must redirect to mysite.com/en. This is happening in the switch statement above.
  12. hmm, I'm doing something wrong. maybe I'm forgetting to change the search from "this topic" to "forum" when I'm searching.
  13. Tell me about it. The search functionality in this forum doesn't really work well.
  14. Thanks Apeisa. Issue logged in Git. https://github.com/ryancramerdesign/ProcessWire/issues/257
  15. Ah, I didn't realize the file had to exist. Problem solved. Thank you so much!
  16. That's a good point. There's no point to wasting time or trying to sell something to someone who already has their mind set on WP. If you are dead set on only using PW, then focus on identifying the type of client who will appreciate why you have chosen to work with PW exclusively (put this philosophy on your about page, but don't get too techy). I would look into providing services to developers, agencies, CTOs, and entrepreneurs, (I fall into three of those category's hint, hint). Folks who have already been through the process of building a website may also be a better fit for your model. That being said, what's the reasoning behind this approach? Seems to me you are choosing a difficult path and your client acquisition costs will increase while your profit (if any) will go down. I can't imagine this model generating more than $65k per year for a sole proprietor. You'll be lowering your client lifetime value too, because you won't be able to retain your clients as long (they will need a service you don't provide and will eventually leave). This is a problem, because a profitable services business is built off compounding revenue from existing clients who need ongoing services, not individual gigs from new clients or one off gigs/clients. That time you spent and were not compensated for gets added into your client acquisition costs. Letting just two clients slip through your fingers, because you didn't want to provide them a WP site, probably cost you $10-$30K over a period of 3 years (just a guess, it's probably higher). I'm not any happier about coding in WP or Drupal, which is why I'm willing to hire a developer for this task (and no task is beneath me so I'll still use WP and Drupal). In that scenario I get paid to be a project manager and interface with the client, some money goes back into the business and the rest goes to my developer. I know the amount of money I'll make on the job is much less when I hire out, but I'd rather have a smaller percentage of something than 100% of nothing (and let's not forget about the additional services the client will purchase throughout the years). Are your clients paying you to educate them? If not, limit the amount of time you spend with a potential client until you have a signed agreement. Put some educational material on your website that you can steer them too (maybe also include a two minute video where you explain what PW is why people should care). Not only will this build up your SEO, but you will save time by not having to educate every new client over and over again. That gets expensive and as you have recently experienced. It's also deflating when you spend your time providing value to someone and they ditch you just before go time. Chalking it up to a bad week is commendable. Sometimes I really beat myself up over things like this, when in fact it was just that, a bad week. Don't forget to consider your client's experience. The better their experience the more likely they will hire you, refer their friends, and come back for repeat business. Make it easy for them. Sometimes low tech clients are overwhelmed by the tech talk. Even if you think you are dumbing it down, you are probably assuming they have some at least some tech knowledge that they do not. Sometimes they are too embarrassed to tell you they don't know what you are talking about (they don't want to sound dumb). Other times, perhaps more often than not, they may be afraid you'll take advantage of them. With new clients not enough trust has been established and they have no way to validate the information you are giving them. When they try to do so, they use google or talk to their friends and in this case, you are right, they are going to find a lot of info on WP and feel much more comfortable going that route. Here's a good resource that I review often: http://freelanceswitch.com/clients/12-breeds-of-client-and-how-to-work-with-them/ Another thing to consider when reading my responses. They are tailored for today. In the years to come PW will gain traction and the word will get out there. You won't have some of the issues you are having now, because the work you do will be in demand. In the meantime, if you want to convert clients to PW incentivize them, but don't use manipulation, fear, coercion, pushiness, etc. I just sold a PW site to someone for $1,200. The actual cost was $5,700, but the client was rewarded for taking a risk and putting their trust in me. You may try offering a 100% satisfaction guarantee or a substantial discount.
  17. I'll report it and submit a patch when I get a chance. How do we report bugs? Git?
  18. Say, I need a special content which can only be viewed by people who know a password but don't have to be registered with the site? And only on this special content type the users knowing the password are allowed to answer comments of other users? This is probably easy enough to do with a cookie or session, but it's not supported out of the box. You would create a login page, which is just a basic page. Then you do most of the work in the template file using traditional php. You can add a password input field and set the cooke if the user logs in successfully. Then on your templates for the protected content, you can check to see if the cookie exists and allow comments if it does. You can also make this into a module, but initially you won't know how to do so. 1) What literature is to be had on Processwire which can bring me up to speed in a very short time? Limited documentation compared to Drupal. It will take 2-3 months for you to get a handle on PW if you understand oop programming, typical patterns/paradigms and frameworks. Compared to Drupal which is really a three year learning curve, that's not bad. If you come from Drupal or WP though, those will help you a little. If you use php frameworks and/or jquery, PW is as easy as it gets. 2) How big and friendly is the community. (The German Drupal community is rude and and acting aloof, the English-speaking community is very polite and helpful especially the maintainer of the superfish module)? Small, but friendly. 3) Are there responsive Processwire themes and which ones are the most modification-friendly? there are no themes for PW, however I'll be releasing a theme framework soon. All of my themes are responsive html5. Super modification friendly. So much easier than WP even. 4) What is the nearest equivalent to the Drupal module "Views"? templates. much easier and faster. 5) Is there a module like "Webform" for Drupal? yes, it's $40 USD I think. 6) And: within the European Union ("EU") - bavaria is unfortunately part of the EU (and Germany for that matter) - there is an "EU Cookie Guideline". When this guideline raised its ugly head there were about four Drupal modules I could choose from which addressed said EU red tape. How are things handled with Processwire if this or other bureaucratic obstacles crop up suddenly? This is specific to your needs, so I don't think PW is going to address this. You have full control to do what you want with PW though. It doesn't get in your way. 7) This WYSIWYG editor I'm using right now is CKEditor or am I wrong? I think this is tinymce, however there's a module for cke and it works quite nicely with some advantages over tiny in my opinion. 8) How about internationalization and translations with Processwire? As good as any. Translations work nicely, but many third party modules aren't translatable (you can fix this easily inside the module and submit your work back to the owner).
  19. Thanks pwired! I'm glad you found some of this useful and didn't take offense to my directness. There are so many smart people here and they are very willing to help. It's a fantastic community. I do plan to be around awhile. I really believe in Ryan and as we all know PW is a superior product. I've used literally everything and this PW is number one in my book. Yes! I hear you. Like most people, I do this too! This is probably the only barrier to anyone's success. Everything else is simply a problem to be solved. Hey, I really feel for you regarding the anxiety disorders. I know from first hand experience how difficult that is. If you stay on the path you are on, one of personal growth and increased awareness, maybe like me you'll find some relief from your anxiety. Personal adversity is a gift. I've gone though such difficult times in my life, and that adversity helped me so much... I don't want to re-experience those hardships, but I wouldn't go back and trade it if I could, those experiences have been invaluable to my personal growth and have made me a stronger more capable person. I really appreciate your willingness to discuss topics like anxiety and the tunnel vision. I think this is important, because it helps connect people. I'm sure many of us can relate to these topics and have had some experience with them. It's nice to be reminded that I'm not the only person on this planet with difficulties. We all struggle with something and we aren't alone in that way.
  20. Hi Matthew, gosh that's rough isn't it. I've been there before (as I share below). However I don't believe you lost the gigs to WP or Drupal. I think you lost the gigs, because you didn't provide a service that your clients wanted. And... You assumed you knew what was best for your client, when they specifically told you what they felt was best. You were probably correct in your assessment of their technical needs, but I can't imagine you would have a good understanding of their needs from a larger business perspective without having worked for/in that business for a few years. Last Jan. I had a 12 month contract for $48K to build/upgrade an existing Drupal site and to help build a foundation that would help them bring in more revenue. While I was doing a great job for them, I was focused on the bigger picture, the needs and demands of the business. I should have been focused on the "wants" of the clients, because they terminated the contract and I took a $35K hit to my income this year. They canned me for the same reason you didn't get those gigs, I wasn't providing them what they wanted. They couldn't understand their "needs", because they didn't have the experience of growing an online business. So from their perspective, they were paying good money and not getting what they wanted. They had no idea what I was actually doing for them. Imagine going to a fast food restaurant for a burger and having the cashier say, sir, your overweight, I know you really want this burger, but trust me I know what's best for you and what you "need" is a salad. You can buy the salad, but the burger is not on the menu. This is essentially why we both lost our gigs. I'd guess over 85% of the websites are powered by WP or Drupal. That means 85% of the people who need web work need Drupal or Wordpress services. You can choose to only support PW, but now you are trying to sell services to a fraction of the remaining 15% which is going to be difficult. PW is new, we are early adopters, it will take at least five more years before PW gains traction (and much longer to start taking market share away from Drupal & WP, though I'm confident this will happen). Right now, you should be supporting WP and Drupal, but start positioning yourself to offer PW services when the demand is greater. I'm only selling PW to people who trust my judgement implicitly. They are sold on me, they really don't care what platform they use, because they trust me so it's an easy sell. I'm not selling PW to new clients unless I can show them a side by side price comparison between WP/Drupal and PW. That's an easier sell. They don't want to understand how the technology is better, they want to know what features they will be getting and at what cost (e.g. contact form, blog, fb integration, etc.). If they can get more bang for their buck with PW, they may go for it. The key to selling services... don't "sell" people anything they don't want or aren't asking for (I'd change my strategy for products). It really couldn't be easier. If you are "convincing" someone, you aren't selling. Just listen to what they want and give them a price. If you don't provide the service, this is your opportunity to provide something of value to them, find a qualified person who does and connect them. They will leave the experience with a good impression of you and will tell others about you or come back later when their needs change. You can also take on the project and hire someone else to do the work (if you don't have the skills, or if you are like me and don't want to use Drupal anymore). If you do this, you'll need to take a percentage for your salary (now as a project manager) and a percentage needs to go back into your business to help you grow the biz. The rest goes to your developer. I also do passive selling. So back to your scenario, in that case I would have sold them the Drupal or WP site and I would also mention to them that I provide other services that they may be interested in utilizing. I don't do this with any expectation of actually selling them something "today". I just let them know what I offer, so that when the time comes, they think of me. For example, after the successful launch of their website and when my client is ecstatic with my work, I may mention that I provide ongoing SEO and marketing strategies to help grow traffic and revenue. I don't even ask if they are interested, I simply say, "Keep me in mind if you ever need SEO". You'd be surprised. SEO may be not be on their list of priorities, but when it is, they think... "I need SEO, and I already know and have a relationship with someone who's offering these services". I do like your strategy about positioning PW against PHP Frameworks, because it's a product best suited for developers (right now). This tagline is very similar, but would do just that. ProcessWire is a RAD PHP content management framework that helps developers build better custom websites and applications faster and more securely. That being said though, I trust Ryan, I don't know where he wants to take PW or who his target demographic is. I can't even begin to know if this is a good idea without getting the full picture from Ryan. Same offer I made to pwired goes for everyone here. You are welcome to send me your skills and work examples and when I have a client that needs your skills, I'll reach out. I'm here to help and we can all be more successful by working together. If you have questions, get in touch.
  21. Nope, not luck. I've never handed out a single business card. I work harder, longer, smarter. Where others give up, I keep going. There's a fine line between doing good work and great, and I put forth the effort that others don't to produce great work. I'm also very careful not to think about what I don't want, but rather what I do want. For example, while you are thinking about prices in the supermarket, elec, gas, rent, etc. your perception shifts to fear and scarcity. Afraid you can't pay rent, afraid you don't have enough work, afraid you'll be in debt. You attract what you think about. I'm an entrepreneur, and yes, I have the same concerns, but instead of worrying I'm thinking about solving problems for others, growing my business and how I can provide value to others. Which thought pattens do you think will serve you? If you want to build websites, how does thinking about supermarket prices help you do that? Money and success is a natural bi-product of correct thinking and providing value to others. So that's one aspect, and it takes practice to correct thought patterns that aren't serving you (limiting beliefs, e.g. the market sucks, there's no jobs. Some of my most successful times were during my nations worst economic recessions). Looking at this from another perspective... If you aren't getting work, asses your skills and talents. If you are skillful and have the talent, then you may need to just get out there more. Do more networking, ask family and friends if they know anyone needing a website, talk to local businesses, reach out to design agencies, reply to tons of classified ads frequently. Make unsolicited call, send emails, stand in front of a supermarket and embarrass your self with a cardboard sign that advertises your services (if that's what it takes). It's a numbers game. In e-commerce there's something called a conversion rate. Converts are the website visitors that actually buy something from the website, not just a site visitor who stops by to look. A good conversion ratio is between .5% and 1%. That means that for every 200 site visitors only 2 of them will buy something. The same idea applies to getting paying gigs. Have you offered your services to 200 people this week? If so, maybe you'll pick up a gig or two. If not, hustle. Reply to 20 classified ads a day, five days a week. That's 100 people who know you now. Go out into your community and find another 100. Maybe that means sending unsolicited emails and making phone calls, maybe it means stoping by the shops that you like. Go to book stores and libraries and slip your biz card into the how to build website books. If you want some help, send me a list of your skills and some examples of your work. I'll keep you in mind when I or a client needs someone with your skills. If you have any questions, I'm happy answer them over skype, email, this forum, etc. Some good resources to consider: Marketing Without Advertising: Easy Ways to Build a Business Your Customers Will Love and Recommend 177 Mental Toughness Secrets of the World Class Business Lessons for Entrepreneurs Change Anything: The New Science of Personal Success Mind Performance Hacks: Tips & Tools for Overclocking Your Brain http://fundersandfounders.com
  22. No such luck Soma. I tried all of the following in the module. The paths are correct. $this->template->filename = $this->config->paths->templates . "view/mytpl.php"; $page->template->filename = $this->config->paths->templates . "view/mytpl.php"; wire('page')->template->filename = $this->config->paths->templates . "view/mytpl.php"; wire('template')->filename = $this->config->paths->templates . "view/mytpl.php";
  23. Thanks Soma, I really appreciate your help. I'll try this out.
  24. Copied from the helloworld module and modified. public function changeFilename($event) { $page = $event->object; // don't add this to the admin pages if($page->template == 'admin') return; $page->template->filename = wire('config')->paths->themes.wire('config')->theme->name.$page->template.'.php'; $event->return = $page->template->filename; //wire('template')->filename = wire('config')->paths->themes.wire('config')->theme->name.$page->template.'.php'; //wire('page')->template->filename = wire('config')->paths->themes.wire('config')->theme->name.$page->template.'.php'; } in the template i tried $page->template->set('filename','/httpdocs/tmp/site/templates/dev/basic-page.php'); $page->template->filename = '/httpdocs/tmp/site/templates/dev/basic-page.php'; The $config variables are working fine, but I also tried hard coding the path. No luck, tried both production and newest dev release. I must be missing something.
  • Create New...