Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/27/2017 in Posts

  1. I'm proud to present you: "The Crafters" Premium cocktails from Belgium! Enjoy! https://www.crafters.be/ (Front-end build with https://semantic-ui.com/)
    6 points
  2. I built this one on bootstrap 4 with a number of extras. ie. Animate on scroll for photos and carousels, navbar animate on scroll, lightbox, facebook sdk for page embed, google map embed, and font awesome. I am using the page tree as a row builder instead of navigation. I detached the menu system from the page tree to give more control on external links, single page website situations that need to link to sections, and add new window target options. It also lets you have different footer links vs header links this way. You can add something like a privacy policy to the footer and not the header and still have one place that controls your menus. Extensions used: Color Picker, Inputfield ACE Extended, Google map marker, MarkInPageTree, Media Library, and Hana Code. I made a little module that will combine all of my ACE code fields into one merged javascript file and one merged css file on page save also. (Filename time stamped for cache busting.) Its pretty neat! I have code tabs on pages that contain css and js ace fields tied to various things. containers, themes, quick styles, and my sitewide code snippets can all have css or js that are merged on page save. While the page rows are great for adding elements to single pages, the sitewide snippet template is very powerful also. Located under the template page, these are filed under the location name. It has fields for files, css, js, php, and html code. By adding this one page to the correct location; Top, Head, Body, Bottom, it will autoload and add code to various locations all at the same time and keep everything organized. ie. Install a header file, and it pulls in all of the related css styles and javascript code at the same time for you. You can check out my screenshots to see how it all works! You can insert bootstrap rows, columns, and add bootstrap elements to columns. https://www.lakehamiltonoutfitters.com/
    6 points
  3. Little admin helper module: Using this module you can view all template cache settings at once. E.g. cache status, cache time (configurable). Furthermore it adds the functionality to clear the entire template cache or just the template cache for a given template. Note that this may cause a temporary delay for one or more requests while pages are re-cached. GitHub: https://github.com/justb3a/processwire-templatecacheoverview
    2 points
  4. You might want to take a look at this or other resources on the topic: https://www.smashingmagazine.com/2011/11/how-to-set-up-a-print-style-sheet/
    2 points
  5. you can rename your homepage to blog, but then you page tree on the backend will show all the posts at the root (sub home) level. Usually this sort of thing is done using url segments in combination with a page path rewrite hook to make the blog posts live off the root. Look for the CMS critic case study to see an example of that.
    2 points
  6. The most taken way to do that is probably using Amazon's S3.
    2 points
  7. I am curious to see ProcessWire websites using Pocketgrid. In order to study their source codes, to see what is used to create menus, what (other) librairies are used to create slideshows, lightboxes... and if they use Normalize.css, for example, and other things. NB: not sure this sub-forum is the best place to create this topic...
    1 point
  8. https://processwire.com/talk/forum/12-themes-and-profiles/ http://modules.processwire.com/categories/site-profile/
    1 point
  9. ImageOptim is great, I use it every day!
    1 point
  10. Hi @nabo You can use http://modules.processwire.com/modules/process-admin-actions/ By default, it includes Page Active Languages Batcher that lets you enable or disable active status of multiple languages on multiple pages at once.
    1 point
  11. Interesting. I always would like to stay with pocketgrid since it is so small and easy and practical. But some things I could never accomplish with pocketgrid in a "normal" way. Like giving a processwire block a background picture. In the end I found a way by using padding-bottom (image height/width x 100)% See this post: https://processwire.com/talk/topic/12830-reaching-the-limit-of-pocket-grid-css/ But still this solution gave me always problems with views on different screens like on desktop, laptop, tablet and smartphone So I changed to bootstrap but still thinking about pocketgrid
    1 point
  12. Before i push the website online I run all images true an image optimiser (app). https://imageoptim.com/mac
    1 point
  13. You may not have PHP-GD installed on the new server. Check out these topics for pointers on similar image upload issues. https://processwire.com/talk/topic/16144-cant-upload-images/ https://processwire.com/talk/topic/1907-cant-upload-images-to-a-page/
    1 point
  14. I used it at least here: https://nogajski.de http://joerg-hempel.com http://bella-italia-aachen.de/
    1 point
  15. @jploch: a question from me to clarify: You have installed ImageAnimatedGif module and it produces correct resized and animated variations with calls to pageimage methods (widt, height, size), but it doesn't produce the same result when you use it with MarkupSrcSet? The ImageAnimatedGif hooks into before pageimage resize, and MarkupSrcSet simply calls pageimage size, so I'm wondering what could be the difference here? What is the result of MarkupSrcSet? Images are scaled down and animated, but with artefacts? Can you provide an example? (a variation from direct call to pageimage and one result from MarkupSrcSet)
    1 point
  16. I dont know how they work internally, whether they depend on each other, but I'd love to be able to test and buy RepeaterMatrix or Multiplier or Table (or any other) module individually. Whole pack of ProFields modules seems awesome to have, however, being able to buy one for ~$30 --instead of all for $130-- sounds much more affordable and this way I could buy the whole pack part by part in several months and wouldn't think twice. But $130 at once, I can't really justify it (and still havent been able to) just as easily with low (to none) disposable student income. Or instead, having sales one - twice a year would be great as well. One advantage of this change would be allowing more people to buy -> support the development & community -> give feedback -> improve these products. This could also potentially pose a disadvantage where requests from people would increase the headache and time required to respond to all these requests, but this community is more than able to handle that. I'm sure there's a reason to why these modules are sold together, and I'd love to hear your side as well, @ryan, (and all other maintainers). Regards, Abdus.
    1 point
  17. $morep = $featured = $page->siblings("template=partner, limit=3, sort=random", false); if($morep->count() < 3) { $morep->import($page->closest("template=category)->children("template=partner, id!=$page->id, limit=3, sort=random") }
    1 point
  18. Hey guys, Recently I saw the module https://github.com/owzim/TextformatterParsedown It keeps the parsedown in the directory. If we could make use of the composer installer via the module I have created it will help people to get up to dated the dependencies than the project maintainer doing the update. I wish if processwire could make use of the composer functionality in the core.
    1 point
  19. I wanted to have a similar short link as mods.pw/XXX and wanted to store them directly in the page in a field. Created a unique text field "shortlink" This is my module code for creating a random key (in this case 6 digits) and assign it to the shortlink field <?php class ShortLink extends WireData implements Module { /** getModuleInfo is a module required by all modules to tell ProcessWire about them * @return array */ public static function getModuleInfo() { return array( 'title' => 'ShortLink', 'version' => 100, 'summary' => 'Pre-populate $field->shortlink with random 6 digit string', 'singular' => true, 'autoload' => "template=admin" ); } public function init() { // add before-hook to the inputfield render method $this->addHooKBefore("Inputfield::render", $this, "renderField"); } /** * If not empty, create unique value for textfield 'shortlink' * */ public function renderField(HookEvent $event) { $field = $event->object; if($field->name == 'shortlink' && $field->value == '' ) { // $id is unique, as page id is unique $shortlink = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@-_"), 0, 6); $field->set('value', $shortlink); } } } and then I activated URL Segments on my home template and added this at the very top of my head.inc if($input->urlSegment1) { // URL has /category-name/post-name/ $shortLink = $sanitizer->pageName($input->urlSegment1); $post = $pages->get("shortlink=$shortLink"); if(!$post->shortlink) { $session->redirect("/search/"); } $session->redirect($post->url); } It´s customized option 2 from Ryan (post #21) At the moment it seems to work as expected. But as I´m not really a programmer I don´t know if it´s really safe etc.. Maybe the code for the head.inc could come in the module? What do you guys think about this? Cheers Can EDIT: Added canonical metatag to the header I like that I´m able to override the generated key. The module is not really needed but it´s nice to have when I´m to lazy to think about an own shortlink When using for a customer I maybe set the field to read only, but because it´s unique text field it will throw an error anyway so shouldn´t be possible to mess with the field value Ah there is one thing I´m not sure about. The shortlink field is type of TextUnique, but what if the str_shuffle generates a duplicate (don´t think it´s impossible?!) I guess the field wouldn´t get populated right? Of course I could save the page for a second time but I´m sure there is a way of doing this directly while populating it for the first time in the module but I don´t know how? It´s currently not working with Markup Sitemap XML module, could extend the if in my header.inc to check for /sitemap.xml Ah just figured out that Markup Sitemap XML is not working with URL Segments turned on at all.
    1 point
×
×
  • Create New...