Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/14/2012 in all areas

  1. Hi everyone, Here's a site for Bettina Guthridge, a talented book illustrator from Melbourne. http://bookillustrator.com.au/ Regards Marty
    5 points
  2. Thanks for the interest Marty. It's pretty much ready, so should be next week.
    5 points
  3. Joshua, I am in no way 'expert' when it comes to PW, but one thing I've learned so far (and one to keep in mind, maybe I should make a nice print ) is that developers often apply traditional CMS thinking (for things like tags, categories, etc.), and that gets in the way of the flexibility of the PW Tree. You often need to step back, visualize the target outcome and try to create tree that gives you the outcome.
    3 points
  4. Share your experiments. I thought I'd share something I've done a little while ago experimenting and trying out things you can do with js and SVG. So vector graphics for the web even older browsers can (IE had VML). 1. One is the famous Chromachron watch, I've created an accurate browser version (with a little twist in the center, which is not on the real clock). Done using the amazing javascript SVG library RaphaëlJS. http://soma.urlich.ch/chromachron/ 2. A fun experiment with RaphaëlJS for drawing and toxiclibjs (from java), a great physics library for the physics. You can click to fix the tail of the spring. (better have a fast browser) http://soma.urlich.ch/toxictale/ Have fun.
    2 points
  5. I would probably set the visibility of that field to "not shown in editor". Rather than have your hook try to adjust attributes of a field, just have it display a message: if($page->your_checkbox) $this->message("User is logged in"); else $this->message("User is NOT logged in.");
    2 points
  6. For this particular reason I pushed TinyMCE field so we can implement custom plugins. Using bramus_cssextras I wrote a tutorial here:
    2 points
  7. <irrelevant><off_topic> I think CAPTCHA's are actually misnamed. It means "Completely Automated Public Turing test to tell Computers and Humans Apart" but a Turing test is, AFAIK, a test applied by a human to tell humans and computers apart. In CAPTCHA's its done by a computer. </off_topic></irrelevant>
    2 points
  8. I wanted to give you a little preview of a new module I've been working on recently: the Form Builder module. This module lets you create simple-to-complex forms and place them in your site without any need for development. In this video we show how we can create, publish and test a simple contact form in less than 5 minutes. Then we take a quick look at a more complex form (already produced). I recommend viewing the full screen + HD 720p version so that you can see it more clearly than in this small forum embed. (note: there's no sound, so no need to adjust your volume) More about the Form Builder The Form Builder has many options for the developer to customize output and create their own themes, markup, etc. But the goal here was to build something that could enable you (or your client) to publish a form in less than 5 minutes, so that's the focus of this video. This tool is literally easy enough for your clients to create and manage their own forms. Or from a developers perspective, it takes something that used to consume hours and makes it happen in minutes. Form results save in the database and optionally can be CC'd to you by email. Result entries and be viewed, filtered by date, and even edited in the admin. You can export results to a spreadsheet as well. I'm working on the ability to export to pages, though that isn't quite ready yet. How the Form Builder will be licensed This module will be individually licensed on a per-site basis for a small license fee. It will also be available for free personal use to established forum members. Basically, I want to see if I can substitute some of my client work to focus on ProcessWire instead. And in order to do that, I need to have an income (I have a family to support). So I thought that building a special tool like this would be a way to make a go of it. A lot of you have asked to make donations to the ProcessWire project, and while we still won't be able to take donations, you will be able to support the ProcessWire project by purchasing and using the Form Builder in your own client projects. So a lot of motivation for this module came from wanting to provide something really special for all that had wanted to support ProcessWire. After a few months of work, I'm pretty happy with how this module has turned out -- it's already saved me tons of time in my client projects. So I'm thinking and hoping you guys will really like it too. I look forward to your feedback.
    1 point
  9. Modules directory: http://modules.processwire.com/modules/facebook-login/ Github: https://github.com/apeisa/FacebookLogin I didn't have any real reason to build this. I actually started to just browse the documentation of OAuth implementations and discovered that Facebook really does make this easy: http://developers.facebook.com/docs/authentication/server-side/ (header "Example" on bottom of the page) so I decided to implement it. It was also nice way to test the Ryan's method of module that creates page which executes itself (like Ryan's new ServicePages module).
    1 point
  10. Since a latest updates to TinyMCE inputfield there's an option to add custom plugins from outside the core to TinyMCE on a per field basis. Here's an example how to add the bramus_cssextras plugin. Ok download the plugin http://www.bram.us/p...xtras/#download 1. create a directory in your site folder i.e. "/site/tinymce" 2. create a plugins folder in it i.e. "/site/tinymce/plugins" 3. put the folder "bramus_cssextras" in there 4. put a content.css in the "tinymce" folder (this is where you can define classes or id's, like: p.lead {...}, ul.list {}, h2.red{ ... } ) (see bramus_cssextras homepage for further infos) 5. now go to the TinyMCE field you want to use it. Under tab "Input" you'll see a "TinyMCE Advanced Configuration Options" collapsed. Open it. 6. add the buttons to one of the theme_advanced_button fields: "bramus_cssextras_classes,bramus_cssextras_ids" if you don't need id's leave it out 7. add the content.css to the content_css field setting like: "/site/tinymce/content.css" 8. add plugin to "Third-party plugin" textarea field like: "bramus_cssextras: /site/tinymce/plugins/bramus_cssextras" as one line. Done. You should now be able to select the class "lead" when cursor inside a <p> tag. Add as much css classes or id's to the content.css as you wish, bramus_cssextras will autodetect them. Have fun.
    1 point
  11. None of the Inputfields actually support the disabled attribute. When I use it, it's really only for the visual and nothing more. In this case, you are getting the message because the guest role is required and its just adding it back. It's an unnecessary message, though is revealing exactly what you've mentioned (disabled attribute isn't actually supported). Seems like it would be worthwhile to make all Inputfields support eventually (and probably easy to do), so will add this to my list.
    1 point
  12. I'm actually planning to do this on one website with a few hundred articles and use the page history plugin to handle the redirects. What happened was I was forced into a structure of /articles/categories/title in the previous CMS, and only had 4 strict categories. As I want to add more categories, and there is now a chance that articles can apply to multiple categories I'm considering shifting them to articles/title and simply referencing them to those categories for search purposes. Essentially the front-end and the list of categories will remain the same, but the flexibility is far superior and only some URLs will change which can be fixed with a 301 redirect
    1 point
  13. This is a great reading! http://processingjs....rial/mario.html edit: Learn OOP the fun way
    1 point
  14. That's great news - really looking forward to this.
    1 point
  15. It's been a while since I have been here. It's nice to be back! Built a couple sites with PW on my server but got distracted with other CMS sites requiring attention for clients... I have a couple questions; I downloaded PW 2.2(latest version) and found certain includes requiring a password so I bypassed to get the bulk of content download on my computer. How do I get the extras? Whom do I chat with about password for extras, or are they even required? Maybe this is dealt with in another area of forum to clarify. Secondly, what is the cost of the form builder Ryan? It look amazingly versatile and a highly valuable addition! By the way, if I remember correctly from last year, you and I share the same birthday Oct.16th! PW has come a long way over the past year. I'm back to stay!!!
    1 point
  16. Great to hear !!, also saw on Github you fixed the sessionLoginThrottle as well... Nice work ryan.
    1 point
  17. Answer to my own question: Define the style in a custom editor.css file, then give TinyMCE configuration the path to that CSS. Example entry would be "span.Highlight_Yellow". Then use theme_advanced_styles similar to Ryan's example in the TinyMCE configuration area, to give the entry a proper name such as "Yellow Highlight." Finally add a "styleselect" entry to theme_advanced_buttons_1.
    1 point
  18. Voted for PW everywhere it fits! (counted 4 categories). Speaking of captures. Did anybody have a chance to have fun discriminating cats from dogs hiding behind letters several years ago on Rapidshare? That was fun! I remember reloading that captures 10 times in a row and then I still made a mistake
    1 point
  19. WillyC's solution is a good way to go if you have this need. But want to mention that the whole idea of multiple routes to a page kind of goes against the grain of the ProcessWire philosophy. By design, there is only one URL to any given page. This is different from systems that disconnect their data from URLs (Drupal, EE, etc.). ProcessWire considers pages like files on a file system. We are trying to embrace the way that the web is addressed rather than counter it. I understand the desire to make a shorter URL for a given page, and that's a fine reason to implement a solution like this (and I've done it myself too). But the reason you don't see things like this outlined in the documentation is because I don't think it's a best practice, whether in ProcessWire or on the web in general. So if someone uses multiple routes, I would suggest it only to solve a specific need after a site is produced… not as something to build around from the start.
    1 point
  20. You don't want this then as that creates a new user object before you've even checked for the duplicate user: $users = new User(); You need to skip that line and check it first like this: public function check_username($username){ $u = wire('users')->get("email=$username"); if($u->id) { return "Already taken!"; } else { // Then add your code to add the new user here, something like: $user = new User(); $user->name = $username; $user->save(); } }
    1 point
  21. No problem, Study the docs section; maybe do the Small Project Walkthrough and just read through the code in the files of the templates dir. They are well commented and you really see what's going on. When you become more comfortable with some basic PHP + ProcessWire's API it's time to have the cheatsheet standby. You'll be flying in no time.
    1 point
  22. Sorry for the excuses that are annoying after that period of time. BUT: It is not abandoned, it was rather postponed because of a lot of work, holidays and moving to a new office. I use the dashboard already in several projects, but have to clean out a lot of things before going public. Already talked to Ryan because of a potential core change I believed was necessary, but turned out it isn't. Give me at least 'til the end of september and I will release something. More or less polished, promised! (will be my first release, so I want it to be good ;-) )
    1 point
  23. Another small site relaunched with PW. It's a local one-man event management business. http://www.kreativkonkret.de "Non-design", which the client prefers. HTML5, responsive, using a customized Google Map as well as a (rather well hidden) customized lightbox. The home page is supposed to always fetch the next upcoming event from the events page ("Veranstaltungen") if event dates are entered properly (and if I didn't screw up the template logic for that). Also, this is the first live site in which I've used Pete's Minify module to deliver minified and concatenated CSS and JS.
    1 point
  24. This is because $user->outputFormatting is on in templates by default. It should be this way. Try to set $user->of(false) before this code and you'll get an error using this syntax.
    1 point
  25. This is actually a perfect case for the tree because you have so many options at your disposal, all which will be far better than the alternative. First off, if your products will have URLs that people can bookmark and search engines can index, then you cannot disregard everything having a fixed place (URL) in a structure (tree). A site without real locations for it's content is not an accessible or indexable site. So the idea of multiple parents per child, as it relates to a web site's URL structure, would be shooting yourself in the foot. But I think that you are actually talking about something different, and something that's very simple in ProcessWire. The tree hierarchy defines the primary home of content. It does not define all of it's other categories, connections or relations to other nodes (pages) in the tree or other pages of the same type. This is what page references and templates are for. So in your case, I would suggest the following structure. I'm assuming that there are multiple product types, in addition to toys. /products/toys/ /products/toys/some-toy/ /categories/wooden/ /categories/some-category/ /materials/wood/ /materials/brick/ /materials/straw/ Create page relations on your product template called "categories" and "materials" and set them to choose from the relevant parents. Now you can deduce any number of other relations on the fly, like: /categories/wooden/toys/ But no need to literally create that page, because the context can already be determined from the existing relations. So your 'category' template code might look like this: <?php if($input->urlSegment1) { // there is an extra component on the URL that doesn't resolve to a page, like /categories/wooden/toys // so we assume they are adding a product type filter $name = $sanitizer->pageName($input->urlSegment1); $type = $pages->get("/products/$name/"); $products = $type->children("category=$page"); } else { // just grab all products in this category $type = new NullPage(); $products = $pages->find("template=product, category=$page"); } echo "<h1>Products in category: {$page->title}</h1>"; if($type->id) echo "<h2>With type: {$type->title}</h2>"; foreach($products as $product) { echo "<li><a href='{$product->url}'>{$product->title}</a></li>"; }
    1 point
×
×
  • Create New...