Leaderboard
Popular Content
Showing content with the highest reputation on 11/24/2015 in all areas
-
Moin Moin, hello and terre! The focus of this website is the large amount of high quality kitesurfing videos and tricks. I choosed that niche because I'm a kiteboarder and there was no site which was focussed on kitesurf media. So... here it is: http://www.steeze-kiteboarding.de/ This was my first website with PW and I think i fell in love I wrote some modules for my own... for example to display the images with a "watersign" directly through the input of the vimeo/youtube URL and convert these URLs for my iframes. Have fun! Feedback, haters and fans are welcome! Best regards!6 points
-
Hey @jlahijani, Franck from Snipcart here. TBH, this is pretty much the first time we hear about ProcessWire; looks like a quite interesting CMS. If you ever end up trying out a project with ProcessWire + Snipcart, give us a shout at geeks@snipcart.com, we'd love to help and see what comes out of it. Cheers!6 points
-
Facebook might seem nice from the outside, but it's actually a damn lot of work to get any reach without paying facebook to advertise the company. Without regular (daily at best) posts you'll hardly get visitors beyond the people who actually know you already. The agency vs. single dev argument might be true, but that's the case for every single freelancer no matter of the industry. I think the best way to get along with that is a strong portfolio and optionally a small high quality set of partners and fellow devs (of other strengths), which you can rely on in bigger projects. Especially if they have a strong portfolio as well you can certainly assure clients that they'll get the same quality as they can expect from an similarly sized agency. Surely you can't do the job a whole team of people is doing in an agency, especially in a similar timeframe. So to get the really big projects one needs to have a critical number of people on board.4 points
-
3 points
-
Looks like Magento 2 was finally released a couple days ago. Anyone here a big Magento fan? I did a couple projects with it back in 2009 and 2010, however to me, it only makes sense if the project has a very high budget given how much of a headache it is to deal with. I'm all for using ProcessWire for ecommerce sites now. Works great for the catalog portion when combined with something like FoxyCart, Snipcart or Padloper if you're willing to get more involved with code.2 points
-
At it's simplest, with your website you own the data and can control how it is used or shared.2 points
-
here's a quick way to change the slider increment for your date timepicker, (this would go in AdminCustomFiles/ProcessPageEdit.js): if(typeof $.timepicker != 'undefined') { $(function(){ $.timepicker.custom = { stepMinute: 15, }; $.timepicker.setDefaults($.timepicker.custom); }); } if you run the latest version of timepicker addon (1.6.1) you can use selects instead of sliders: (for example if you are on current dev/stable, you copy the inputfield to site/modules and tell the system to use that one; then upgrade to the latest timepicker, and copy the new css to the datetime css; if are on devns, word is that it will include the latest version of timepicker). if(typeof $.timepicker != 'undefined') { $(function(){ $.timepicker.custom = { stepMinute: 15, controlType: 'select', oneLine: true, }; $.timepicker.setDefaults($.timepicker.custom); }); }2 points
-
2 points
-
Keep Response JS in mind: http://responsejs.com/ It's one of my go-to libraries on the frontend.2 points
-
The latest version of PW has built-in hide/unhide and pub/unpub action buttons, so I don't actually think there is a need for this module anymore.2 points
-
I like it so far, well i´ve been working here since 6 years Ok guys, if anyone would like to manage the suite on GitHub I will gift the source to the community.2 points
-
Hello there! I'd love to publish my first ProcessWire module. Please let me know if you have any thoughts regarding the quality, documentation or new features you would like to see. See Github page: https://github.com/MartinMuzatko/TextformatterAutoAnchor/ ProcessWire Module: http://modules.processwire.com/modules/textformatter-auto-anchor/ TextformatterAutoAnchor Automatically add anchors and IDs to Headings What is it doing? This Textformatter adds an id attribute to every heading with a slug of the text. Intended for easily creating linkable sections. Demo Currently it is used at http://www.happy-css.com AutoAnchor in action: http://happy-css.com/lessons/riotjs/reusable-components/ Preview can be seen on Github Configurable Variables Heading Selector Determine which headings you want to have the ID + anchor Use a regex-like range or list, e.g.: 2-6 or 346. Anchor Class Your css classes that are attached to the anchor link. Anchor Content The text for your anchor. If you prefer an icon, you could also use HTML for example. What are the Alternatives? There are existing tools like Anchorific JS but its dependency is jQuery. I love to have an alternative that is PHP only. Known issues Anchors are placed in front of the text. This could be a future configurable setting. The slug is also not configurable yet, currently it is lowercased and space is replaced with hyphens/dashes1 point
-
FieldtypeFontIconPicker Supported Icon Libraries FontAwesome 4.7.0 Uikit 3.0.34 IonicIcons 2.0.1 Cahangelog NOTE: Module store data without prefix, you need to add "prefix" when you want to show your icon on front-end, because some of front-end frameworks using font-awesome with different "prefix". Module will search site/modules/**/configs/IconPicker.*.php and site/templates/IconPicker.*.php paths for FieldtypeFontIconPicker config files. All config files need to return a PHP ARRAY like examples. Example config file : create your own icon set. File location is site/configs/IconPicker.example.php <?php namespace ProcessWire; /** * IconPicker : Custom Icons */ return [ "name" => "my-custom-icons", "title" => "My Custom Icon Set", "version" => "1.0.0", "styles" => array( wire("config")->urls->templates . "dist/css/my-custom-icons.css" ), "scripts" => array( wire("config")->urls->templates . "dist/js/my-custom-icons.js" ), "categorized" => true, "attributes" => array(), "icons" => array( "brand-icons" => array( "title" => "Brand Icons", "icons" => array( "google", "facebook", "twitter", "instagram" ) ), "flag-icons" => array( "title" => "Flag Icons", "icons" => array( "tr", "gb", "us", "it", "de", "nl", "fr" ) ) ) ]; Example config file : use existing and extend it. File location is site/configs/IconPicker.altivebir.php <?php namespace ProcessWire; /** * IconPicker : Existing & Extend */ $resource = include wire("config")->paths->siteModules . "FieldtypeFontIconPicker/configs/IconPicker.uikit.php"; $url = wire("config")->urls->templates . "dist"; $resource["scripts"] = array_merge($resource["scripts"], ["{$url}/js/Altivebir.Icon.min.js"]); $resource["icons"]["flag-icons"] = [ "title" => "Flag Icons", "icons" => array("tr", "en", "fr", "us", "it", "de") ]; $resource["icons"]["brand-icons"]["icons"] = array_merge($resource["icons"]["brand-icons"]["icons"], array( "altivebir" )); return $resource; After you add your custom config file, you will see your config file on library select box. Library Title (Location Folder Name). If your library categorized and if you have categorized icons set like uikit and fontawesome libraries, you will have category limitation options per icon field or leave it empty for allow all categories (default). Example : output if ($icon = $page->get("iconField")) { echo "<i class='prefix-{$icon}' />"; } MarkupFontIconPicker Usage // MarkupFontIconPicker::render(YourIconField=string, Options=array) echo MarkupFontIconPicker::render($page->YourIconField, [ 'prefix' => 'uk-icon-', // Icon class prefix, if you have different prefix, default is : "fa fa-" 'tag' => 'span', // Icon tag default is : "i" 'class' => 'fa-lg', // If you have extra cutom classes, for example : icons sizes, Array or Sting value 'style' => 'your custom styles if you have' // Array or String Value ]); Theme support Search support Category support1 point
-
I was approached by a client with a project for a relatively simple niche job board with the following requirements: - Website lists job posts in different categories. - Companies can register their profile for a closed "members only" area (which should not be the CMS back-end). - Within this members-area, the company can create a new job post for a small payment (Paypal or Credit Card). - Once the payment has been made succesfully, and the job post as been reviewed by the site's administrator, the job can be released / published by the admin. Now, the client wants to use Drupal due to the strong user role and permission system and the availability of e-commerce modules. I know my ways around in Drupal as a site-builder, but front-end styling with Drupal's markup can be really a pain. You just don't have the same flexibility like with ProcessWire, where you can use a custom front-end without problems. The only hesitation I am having is the membership area, where job posters can sign up and also the payment for each post, which I have never implemented with ProcessWire. My idea is to build a functional prototype as a "proof of concept" to convince the client that PW can do this in an elegant and secure way. Would appreciate your advice on the technical feasibility.1 point
-
Fixed the problem where WireMailSMTP is being bypassed in favour of WireMail... @justb3a I would usually leave module code 100% alone, but comparing how mail is called in another site I noticed it was different, so I edited `SimpleContactForm.module` around line 478 like this: // Below original module code bypasses WireMailSMTP // $wireMail = new WireMail(); // Below does not bypass WireMailSMTP $wireMail = wireMail(); and email is then sent via WireMailSMTP. If I edit it back to the original then it bypasses WireMailSMTP and I can switch back and forth depending on how I leave the code around line 478. If this is this something you would like me to log on git etc then please let me know as I would love to have an official (unedited) copy of your excellent module that used WireMailSMTP. Sorry if I explained that all badly and thanks again for this module, cheers, -Alan1 point
-
I see more and more small businesses in my region focusing completely on Facebook and Twitter, but that depends always on individual budgets. Overall, there is a lot of competition out there in the form of drag-and-drop website builders, WordPress templates etc and not every business will value a custom-made website. In the end of the day, running a web-related business is 50% sales. You need to be able to sell and market your skills to potential clients. In this respect, larger agencies have more resources and account managers, which will aggressively sell their solutions. While larger corporations will many times prefer an agency, small- and medium-sized companies often like the flexibility and responsiveness of individual freelancers. It really depends on the target clients you want to focus on and the related budgets you realistically can achieve.1 point
-
@adrian: Could you please open an issue for each topic on Github? The select field in module settings allows you to add these extra fields to other ImageFields (for example CroppableImage). I've never tested it with InputfieldFile but I think this should be supported as well. There could be an additional select list to choose the fields (only list the fields with FieldTypes selected above) but I don't know if this is really necessary. Imagine you add another image field where you want to add extra fields, you had to go to module settings again and select the newly added field. If you don't need it for an image field, just don't touch the settings.1 point
-
Thanks! I was hoping there was some sort of find method for page fields, and of the two options I'll probably use this. But for $myFields->add($f); ...if I know the name of the field I want to add to the FieldsArray, how do I get the item into the right type for adding to a FieldsArray? Edit: worked it out now... $myFields = new FieldsArray(); $myFields->add($page->fields->get("fieldname"));1 point
-
You can filter like this: foreach($page->fields->find("type=FieldtypeImage") as $f){ or you can create a new field array with: $myFields = new FieldsArray(); foreach(xxxx as $f){ $myFields->add($f); }1 point
-
There are some nice modules out there to solve this in a better way. For example: http://modules.processwire.com/modules/process-redirects/ http://modules.processwire.com/modules/process-jumplinks/ https://processwire.com/talk/topic/9436-page-path-history-manager/ For sure there is an endless redirect if you do $session->redirect($page->url); If you want to stay with your method you can do something like the following in your landing-page template <?php // Redirect to the fake URL if real URL is accessed if (strpos($page->url,'landing-pages')) $session->redirect('/'.substr($page->url,13)); ?>1 point
-
I just started the process of going 2.0 on my first PW build. It's been running smoothly on 2.5.3 for a little while now, its first iteration was on 2.4, early 2012 according to timestamps. It never had an issue whatsoever, neither DB or security issues. The only downtimes I've ever had with it is moving from a shared to a dedicated server and a few security updates on the server itself. Satisfied customers for 3 years in a row! Since then, PW has seen so much.. and I've gotten a lot better at architecting content on it.1 point
-
I use it on one site with wiremailSMTP and it works. But I haven't used it together with Mandrill. I think you use a recent or latest version of SCF? (earlier version hasn't supported wiremail()) You may check in the headers of your emails for the User-Agent, e.g. ProcessWire/WireMail or ProcessWire/WireMailSMTP or ...1 point
-
The secret is to create a nice selector and use the API correctly. $pages->get() returns a single page, whereas $pages->find() returns a page array. /** * has_parent=1016 selects all children and grandchildren of the page with id = 1016 * parent!=1016 excludes the children (first generation) **/ $articles = $pages->find("has_parent=1016,parent!=1016,sort=title");1 point
-
Hello, I was just wondering the same after seeing "pwired" mentioning it again. I had already wondered about this. So I've just researched on Google (pocketgrid and what responsive menu), and it's incredible (again), you are (already) number one...1 point
-
The problem's here: <?php echo date("Y/m/d h:s", $note->modified); ?> You're outputting seconds instead of minutes. Use "Y/m/d h:i" instead.1 point
-
This is on the list of additions for 3.0. https://github.com/ryancramerdesign/ProcessWire/issues/1508 Edit: I think your last example is what actually happens if you just change the parent of a page.1 point
-
The CRM part some highly specific stuff, certainly not helpful for anybody else. The modules I'll focus on getting into publishable state will be OpenSearchServerSearch (including the schema for OSS), PagePublishPerLanguage, ArticleIDLinks and ActiveDirectory/LDAP integration. If there's time left (I'm a bit cautious with promises atm, as I'm going to be rather involved in switching our ERP system next year), I'll see if I can change the translation TextFormatter into something generic and configurable and bundle everything together with the notice board into an Intranet site profile.1 point
-
Actually I was the first to like and retweet his tweet five days ago. So all candies belong to me1 point
-
It fragments your development doing it eith detection. Check out mobile first. It's 80% of the time the best way, and requires you to think about those low bandwidth and small screens first and enhance up to desktop. Also use sass or less it'll simply make your life easy, and the aiom module for process wire is ace1 point
-
link removed due to restriction of google maps api: Terms of Use Restrictions The Google Maps Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.1 point
-
Solved it by reading how $pages->clone() does it, and just doing that.... I also see that $pages->clone() has the ability to set an argument to specify a page ID which solves my issue of cloning a page and not having the the page ID I want after the clone. //copies the fields of one page to replace the fields of another page. function copyFields ($sourcePage, $destinationPage) { //Copy Fields between pages $destinationPage->of(false); $sourcePage->of(false); foreach ($destinationPage->template->fieldgroup as $field){ if($field->type instanceOf FieldtypeTable){ //You get duplicare SQL index errors if you don't use clone. $destinationPage->$field = clone $sourcePage->$field; }elseif($field->type instanceOf FieldtypeTextarea){ //Update image an file links in rich text fields $destinationPage->$field = str_replace("/files/{$sourcePage->id}/","/files/{$destinationPage->id}/",$sourcePage->$field); }else{ $destinationPage->$field = $sourcePage->$field; } } // Copy $sourcePage's files over to new page if(PagefilesManager::hasFiles($sourcePage)) { $destinationPage->filesManager->init($destinationPage); $sourcePage->filesManager->copyFiles($destinationPage->filesManager->path()); } return $destinationPage; }1 point
-
In case you want it a little more simpler $pages->setOutputFormatting(false); $pag = $pages->find("template=basic-page"); foreach($pag as $p) { foreach($languages as $lang) { if($lang->isDefault()) continue; $p->set("status$lang", 1); $p->save(); } }1 point
-
Thanks! Just in case anybody else searches for similar things, here's a simple example $en = 'status' . $languages->get('en'); $us = 'status' . $languages->get('us'); $fr = 'status' . $languages->get('fr'); $pag = $pages->find("parent=1072, template='product'"); foreach($pag as $p) { $p->setOutputFormatting(false); // not sure if necessary here - I made it a habit to always include it, just in case... $p->$en = 1; $p->$fr = 1; $p->$us = 1; $p->save(); }1 point