Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/12/2015 in all areas

  1. HI! Here's a simple site I finished recently for cotswoldletterpress.co.uk. modules: redirects batcher thumbnailCropImage AIOM template notes page delete pagetree reverse js: jquery unslider
    6 points
  2. Cool. There should be an updated version of this theme on the dev branch next week - assuming I can get time to add a few more things, and Ryan is good with them all. This upcoming version makes it easier to create your own color schemes - for both default and reno. Custom colors schemes are stored under /site/ so they survive PW core updates (thanks Pete!) More details soon
    6 points
  3. Hello, Is there someone ready to create a notfound.org module for ProcessWire? I've just found (again?) this project indirectly. notfound.org/faq -> a plug-in is available for Wordpress and a drupal module is also available (still in "sandbox mode").
    2 points
  4. @nico, @martijn, I gotcha covered, although not exactly how you expect. I think you will likey.
    2 points
  5. I need to get back to this custom dark version. I stopped working on it several months ago due to others projects, but I'm still in the mood to finish it. Bear with me. In the meantime, you can have a simple darker version of Reno Theme with a few lines of CSS 3 and the module Admin Custom Files. I think its a good option to work under dimmed light. Note: unfortunately it will not work on Internet Explorer (any version) 1. Install the module: http://modules.processwire.com/modules/admin-custom-files/ 2. Create a file and paste the CSS code below. 3. Save the file as `AdminThemeReno.css` on the folder `templates/AdminCustomFiles` that was created by the module. 4. Reload admin Note: You can tweak the colors a bit by changing the hue-rotate values. body {background: #222} #main {-webkit-filter: invert(100%) contrast(70%) hue-rotate(0deg)} #sidebar {-webkit-filter: invert(100%) contrast(90%)} .notes {-webkit-filter: hue-rotate(90deg)} #sidebar #main-nav a.current:not(.parent) {-webkit-filter: hue-rotate(120deg)} .ui-button-text, .InputfieldImagePreview {-webkit-filter: invert(100%)} Screenshots attached.
    2 points
  6. Video embed for YouTube and Vimeo ProcessWire Textformatter module that enables translation of YouTube or Vimeo URLs to full embed codes, resulting in a viewable video in textarea fields you apply it to. How to install Download or clone from GitHub: https://github.com/r...atterVideoEmbed Copy the TextformatterVideoEmbed.module file to your /site/modules/ directory (or place it in /site/modules/TextformatterVideoEmbed/). Click check for new modules in ProcessWire Admin Modules screen. Click install for the module labeled: "Video embed for YouTube/Vimeo". How to use Edit your body field in Setup > Fields (or whatever field(s) you will be placing videos in). On the details tab, find the Text Formatters field and select "Video embed for YouTube/Vimeo". Save. Edit a page using the field you edited and paste in YouTube and/or Vimeo video URLs each on their own paragraph. Example How it might look in your editor (like TinyMCE): Here are two videos about ProcessWire https://www.youtube.com/watch?v=Wl4XiYadV_k https://www.youtube.com/watch?v=XKnG7sikE-U And here is a great video I watched earlier this week: http://vimeo.com/18280328 How it works This module uses YouTube and Vimeo oEmbed services to generate the embed codes populated in your content. After these services are queried the first time, the embed code is cached so that it doesn't need to be pulled again. The advantage of using the oEmbed services is that you get a video formatted at the proper width, height and proportion. You can also set a max width and max height (in the module config) and expect a proportional video. Configuration/Customization You may want to update the max width and max height settings on the module's configuration screen. You should make these consistent with what is supported by your site design. If you change these max width / max height settings you may also want to check the box to clear cache, so that YouTube/Vimeo oembed services will generate new embed codes for you. Using with Markdown, Textile or other LML I mostly assume you are using this with TinyMCE. But there's no reason why you can't also use this with something like Markdown or Textile. This text formatter is looking for a YouTube or Vimeo video URL surrounded by paragraph tags. As a result, if you are using Markdown or Textile (or something else like it) you want that text formatter to run before this one. That ensures that the expected paragraph tags will be present when TextformatterVideoEmbed runs. You can control the order that text formatters are run in by drag/drop sorting in the field editor. Thanks to Pete for tuning me into these oEmbed services provided by YouTube and Vimeo a long time ago in another thread.
    1 point
  7. I've just posted a Fieldtype and Inputfield module combination that support the use of MySQL time fields in ProcessWire. Ryan's Datetime module is great but I needed something that dealt specifically with times for a scheduling system and this is one of the results. For 24 hour clock format ('HH24MM') you now get a clock-picker pop-up by default... ...but you can inhibit it if you don't want it... Although the input time format is selectable, as this is stored as a MySQL time field, you currently need to specify values in selectors in full "H:MM:SS" format. So if you wanted to get all events starting on or after 9am you'd do something like this... $events = $pages->find("template=events, starts>=9:00:00")->sort("starts"); This is definitely a beta module as I've not tested every single input format yet. Currently does not support negative time-periods or fractions of a second. FieldtypeTime on Github FieldtypeTime in the Module Repository Releases Version 0.2.0: Adds support for the use of this input field in repeaters and repeater matrix types. Version 0.1.0: Adds clock picker.
    1 point
  8. Getting ready to launch. Needs some finishing touches but wanted to share it http://www.gabrielaestates.com
    1 point
  9. Per discussion with @renobird in IRC, I've decided to add child pages that also use ProcessDocumentation and then grandchild pages that use template: documentation. Then the ___execute() method will display the page contents and/or a list of links to the sub-pages as appropriate.
    1 point
  10. 1 point
  11. Hello Martijn Geerts, I just change the text format option in details section of the field that i added and in template i wrote <?php foreach($page->banners as $image) { $thumbnail = $image->size(350,200); echo "<a href='{$image->url}' title='{$thumbnail->description}'><img src='{$thumbnail->url}' alt='{$thumbnail->description}' ></a>"; } ?> it started working. Thanks
    1 point
  12. Aha! Solved it, so I'm going to answer my own question in case someone else runs into this. The PHP must be compiled with the option ZIP to *really* have it "built-in". In the case of this OpenSUSE build, it is not, and must instead be installed using PECL. Initially the PECL install didn't seem to work, eg. `sudo pecl install zip`, until I realized that it needed the path too `sudo pecl install pecl/zip`, but then it worked.
    1 point
  13. The entry is in the .htaccess because files in that folder and of those types aren't normally supposed to be visible to users. They are part of the rendering process, but that's going through the index.php and therefore direct access isn't necessary. By default you wouldn't want users to be able to open html snippets directly, because they should only see the whole website. Polymer is a whole other way of templating and therefore needs direct access to partials. Edit: Additionally .php/.inc/.tpl will most likely hold php code which is dependent on the processwire bootstrap process and would error on direct access. .html is the only one which can potentially be independently useful.
    1 point
  14. Hi @zilli You can add as many images as you want to an image field in PW. This is assuming your images field hasn't been set to max 1 when setting up the image field. If I have a PW page that requires several images, they're all dropped into my General Images field. Then, in CK editor, I choose which ones I want to manually output in my Body field. If we're working with templates and you want to iterate through several images and echo them onto a page (for example, a gallery) , you can do that easily. Can you give us a use-case? There is so much flexibility here, you can work in a number of ways with images.
    1 point
  15. That's nice. Although I like the simplicity of Repeater, using PageTable instead means extra fields can be associated with each pins tooltip. IE I could have a Summary field and that could display on mouse-over of each locations pin.
    1 point
  16. just tried the pagetable with mapmarker on basic profile and i think it looks very clean:
    1 point
  17. Hi Osorio, I am also experimenting with polymer and pw. However, I deceided to modify the .htacess to allow html imports. I don't know if there are any security drawbacks but I can't think of any. In my opionion it's better to keep the templating files in the template folder where they belong by design. Maybe ryan could clarify this because there were already 2 people in 2014 who asked the same question.
    1 point
  18. @Engine44 you'll need to follow the instructions for making a database, and a database user, from within PHPMyAdmin. When you start MAMP look in the right column for the tutorial on how to do that. https://www.drupal.org/node/66187 You might also consider taking the easier route of developing with the Bitnami Stack. https://bitnami.com/stack/processwire
    1 point
  19. Hello, for me worked the tutorial from Soma https://processwire.com/talk/topic/2089-create-simple-forms-using-api/ in most cases fine. (I HATE TO CODE FORMS BUT ITS NECESSARY ) This is for the PHP Code. For Example you can Put it in the contact-template.php <?php $out = ''; // create a new form field (also field wrapper) $form = $modules->get("InputfieldForm"); $form->action = "./"; $form->method = "post"; $form->attr("id+name",'subscribe-form'); //generate the Form with <form id="subscribe-form" ... // create a text input $field = $modules->get("InputfieldText"); $field->label = "Name"; $field->attr('id+name','name'); $field->required = 1; $field->attr("class" , $field->attr("class") . " form-control"); // generate <input id="name" class=" form-control ..... " $form->append($field); // append the field to the form // create a text input $field = $modules->get("InputfieldText"); $field->label = "Adresse"; $field->attr('id+name','adresse'); $field->required = 1; $field->attr("class" , $field->attr("class") . " form-control"); $form->append($field); // append the field to the form // create a text input $field = $modules->get("InputfieldText"); $field->label = "Plz/Ort"; $field->attr('id+name','plz'); $field->required = 1; $field->attr("class" , $field->attr("class") . " form-control"); $form->append($field); // append the field to the form // create email field $field = $modules->get("InputfieldEmail"); $field->label = "E-Mail"; $field->attr('id+name','email'); $field->required = 1; $field->attr("class" , $field->attr("class") . " form-control"); $form->append($field); // append the field // create a text input $field = $modules->get("InputfieldTextarea"); $field->label = "Nachricht"; $field->attr('id+name','text'); $field->attr("class" , $field->attr("class") . " form-control"); $field->required = 1; $form->append($field); // append the field to the form // oh a submit button! $submit = $modules->get("InputfieldSubmit"); $submit->attr("value","Absenden"); $submit->attr("class"," btn btn-lg btn-primary"); $submit->attr("id+name","submit"); $form->append($submit); // form was submitted so we process the form if($input->post->submit) { // user submitted the form, process it and check for errors $form->processInput($input->post); // here is a good point for extra/custom validation and manipulate fields $email = $form->get("email"); if($email && (strpos($email->value,'@hotmail') !== FALSE)){ // attach an error to the field // and it will get displayed along the field $email->error("Bitte Email eingeben."); } if($form->getErrors()) { // the form is processed and populated // but contains errors $out .= $form->render(); } else { // do with the form what you like, create and save it as page // or send emails. to get the values you can use // $email = $form->get("email")->value; // $name = $form->get("name")->value; // $text = $form->get("text")->value; // // to sanitize input $name = $sanitizer->text($input->post->name); $adresse = $form->get("adresse")->value; $plz = $form->get("plz")->value; $message = $form->get("text")->value; $subject = "Web Anfrage"; // $emailFrom = $form->get('email')->value; $emailFrom = $sanitizer->email($form->get("email")->value); $emailTo = 'youremail@domain.com'; $body = "Die Email ist von ".$name."\r\n"."\r\n".$adresse."\r\n".$plz."\r\n".$message; mail($emailTo, $subject, $body, "From: $emailFrom"); $out .= "<h2>".$name."</h2><h2> Ihre nachricht wurde versendet.</h2>"; } } else { // render out form without processing $out .= $form->render(); } ?> and at the place where you will have your form you can use <?php echo $out; ?> Its not 100% perfect solution but as I was new to processwire and also PHP it works for me.
    1 point
  20. My agency neuwaerts moved to a new location in january. The location, an old transformer station from the local electricity provider, is not only our workingplace but also a place at which events, meetups, talks and workshop are held. As often as possible we invite heads that inspire us and others to "transform" our thinking. Furthermore some rooms of the building are available for rent (i.e. for customers or other people that are interested in holding a workshop or just getting out of their every day office hell). To promote the location we've done some branding and gave it it's own website (built in 2 days, thanks to processwire)!: http://transformationswerk.de/ Plugins used: FieldtypeCroppableImage Social Share Buttons Database Backups Upgrades Template Data Providers Template Twig Replace SEO
    1 point
  21. It's not really a big security risk to allow access to html files, as that are static files. It's just that by now it wasn't a intended behavior to be able to access html files, therefore the rule. Also in the templates folders are maybe docs and such things in html format, which should probably be hidden. But if you use markdown this security is gone as well. Writing a custom .htaccess rule to allow access in the bower_components folder would probably be the best / most flexible bet.
    1 point
  22. I added two config options: Including not only visible pages: optional, include all hidden and unpublished pages and pages that user doesn't have access to view Multiple Output: optional, multiple selection (using ASMSelect) Field settings: Select Lists: (settings above -> first one)
    1 point
  23. Why all this complicated like moving and hooking and redirecting. I think it's as simple as only display news to a certain date time expired, and have a link to older news will just show all from a certain date time backward. This could be done with a urlSegment or a physical page "older-news" that only lists, well older news. No need to go fancy complicated. News pages stay where they are, chronologically.
    1 point
  24. Looks awesome. The Pagetree is not everyones love, especially for those coming from joomla an the likes. Any chance for a frontend filter that would be customizable through the same Lister Pro Module?
    1 point
  25. Here you go: http://modules.processwire.com/modules/page-edit-field-permission/ There's a module for that™ EDIT: I'm honestly unsure whether it disables the field or hides it. I assume the former as otherwise it could potentially mess with the layout of your template.
    1 point
  26. Or you could use this undocumented feature: Edit your /site/config.php and set $config->advanced = true; In your admin, go to Setup > Templates > your-post-template Click to the "System" tab. See the last field: "Allow the created user to be changed on pages?" Check that box and Save. Restore your config.php back to normal: Edit your /site/config.php again and set $config->advanced = false. Now you should be able to change the "Created User" on the Settings tab of any pages using that template.
    1 point
  27. This is defined here: /wire/config.php $config->http404PageID = 27; But this is PW. We do not hack the core. So what do we do? Uh, this is PW, we can override this . So, we put our own 404 page id configuration in our /site/config.php $config->http404PageID = 1035;// my custom 404 page A word of caution though in /wire/config.php * Hard-coded configuration options for ProcessWire * These may be overridden in the /site/config.php, but it is not recommended. More info here: http://processwire.com/api/variables/config/
    1 point
  28. Just build a select form with your section pages in it and send the page id over GET: <select name="section"> <?php foreach($pages->find('template=section') as $s) { echo "<option value='{$s->id}'>{$s->title}</option>"; } ?> </select> Then in the template where you display the events, check if the user has chosen a category if ($input->get->section) { $section = (int) $input->get->section; // Add this to your selector string $selector .= ", section={$section}"; // To make the pagination work, add the section get variable to the whitelist $input->whitelist('section', $section); }
    1 point
×
×
  • Create New...