Leaderboard
Popular Content
Showing content with the highest reputation on 06/17/2015 in all areas
-
I liked the formatting! Don't listen to these boring central europeans4 points
-
Make sure to "open" the new parent page before moving stuff there. It needs to be highlighted to receive a page as child no matter if there are already children or not.3 points
-
Seriously, first I considered the post as spam. I still think its very trollish.3 points
-
...and You convert a wysiwyg editor into complicate Reading Sincere Welcome from me, too....but man it's really hard to read...3 points
-
2 points
-
Hi Ivan, Thanks for reporting that - it should be fixed in the version I just committed. Please let me know how it goes.2 points
-
i bet ryan will refund you 100% if you are not happy welcome socrates - i also ask you to keep your postings free from such hard to read formatting. looks like we found willyc's little brother2 points
-
should not be a problem... somehow like this: $tag = $pages->get("/tags/fish/"); $poststotag = $pages->find("body*=" . $tag->title); foreach($poststotag as $post) { $post->of(false); $post->tags->add($tag); // tags is the name of your pagefield $post->save(); } no working code and surely full of mistakes but i think the principle should work maybe you have to check if the post is already tagged...2 points
-
Take a look at this thread: https://processwire.com/talk/topic/1176-hiding-uneditable-pages-from-users/page-2 There are several posts by myself that link to some gists and also an attached module that tackle this from different angles. Regardless you should find something in one of those that will get you sorted out.2 points
-
i'm doing this which works: $base_url = 'http://' . wire('config')->httpHost . '/'; $placeholders = array('class="align_left"', 'site/assets/files/'); $replacements = array('style="float:left;margin-right:10px;"', $base_url . 'site/assets/files/'); $body = str_replace($placeholders, $replacements, $message->body);2 points
-
Thanks a lot for your answer Got what you Got before going bigger (iHope), things collected! The thing i asked for demos is that i didn't saw the licence types, my first look got the high rates... But these modules are magic, and i Love them.1 point
-
1 point
-
Getting ready to launch. Needs some finishing touches but wanted to share it http://www.gabrielaestates.com1 point
-
1 point
-
Hey Macrura! Your post got me going in the right direction. I had to modify it a bit. $config->urls->root->httpUrl returns an error, so I had to use 'https://' . wire('config')->httpHost . '/'. I'm also looking for links without the http:// and adding that in so that they'll work either way. Instead of just targeting the assets folder, I'm replacing all instances of relative links ('href="/' or 'src="/') and adding in the site's base URL. It seems to be working. $base_url = 'https://' . wire('config')->httpHost . '/'; $placeholders = array('class="align_left"', 'src="/', 'href="/', 'href="www.', 'src="www.'); $replacements = array('style="float:left;margin-right:20px;"', 'src="' . $base_url, 'href="' . $base_url, 'href="http://www.', 'src="http://www.'); $body = str_replace($placeholders, $replacements, $body);1 point
-
It is solved. The problem was the different RootPath and DOCUMENT_ROOT. I can't exactly say why it happened because we have just reported the different paths to the server administrator. But now everything works well. Thanks to everyone for tips.1 point
-
Adrian, I don't think that does what was asked. $fields will will get all the fields that you created, not the ones that are in the pages. hsanabria, you have to identify which fields represent other pages. Using your example: foreach($page->fields as $field) { $fieldValue = $page->get($field->name); echo $field; foreach($fieldValue as $innerPage) { // if value of the field is a page array, we can iterate it foreach($innerPage->fields as $innerPageField) { $innerPageFieldValue = $innerPage->get($innerPageField->name); echo $innerPageFieldValue; } } } Of course it would be much simpler to create a general function that iterates the fields of a page and call it recursively if that field is a page array. But I hope this serves as an example.1 point
-
Pageimage Manipulator supports this: $image = $page->images->first()->pimLoad("suffix")->setOutputformat("jpg")->save();1 point
-
1 point
-
There's already a big pull request regarding various .htaccess settings over at github: https://github.com/ryancramerdesign/ProcessWire/pull/11281 point
-
I know, but, like for browser-update.org, having a plug-in/module can/could help spread the word about ProcessWire. If other CMSs are there, why not ProcessWire. I don't do it on purpose (for the moment), but when I am on a website where I see other CMSs listed (like also on opensource.com), if I see that there is something to do, I naturally do it.1 point
-
I now use Affinity Designer and Affinity Photo. Affinity designer was recently announced as the winner of the apple designer award. https://affinity.serif.com/blog/affinity-designer-wins-prestigious-apple-design-award/ Currently they are offering a 20% discount at a very reasonable £29.99/$39.99 I purchased a few days ago as I have a mac now (A windows version is planned in the future). Check out the website https://affinity.serif.com/en-gb/ and watch the video. I think the words to the background song say it all to Adobe and anyone wanting to escape the adobe prison subscription. SET ME FREE1 point
-
Yours should be approved now so you can make further edits as required. I've changed the text after a submission from "within 24-48 hours we will review your profile" to "7 days" though I'm aware some have been sitting there longer - I'll work on that so people don't have to wait as long in future, but also so I'm giving myself a more reasonable timescale.1 point
-
1 point
-
@itsberni: Have a look into you php.ini file. There is an entry for max_execution_time. Check that value und increase it. And also have a look at max_input_time and memory_limit. @congomonster: Maybe I should provide a way to write your own email content using placeholders. Then you would be able to add additional text as well. Edit: I opened an issue regarding that feature on github, so I keep it in mind1 point
-
Hi, take a look into the API documentation, there is something that exactly fits your needs: $page->rootParent Cheers1 point
-
Good day, Adrian! I am adding images to an ImageField with CustomUploadNames hook enabled via API like this: $images->add($file_path); "Maximum files allowed" = 1. If "Formatted value" is set to automatic I get this error: Error: Call to a member function getVariations() on a non-object (line 245 of /var/www/***/site/modules/ProcessCustomUploadNames/ProcessCustomUploadNames.module) If "Formatted value" is set to Array of items, there is no error. Am I doing something wrong or is it a bug?1 point
-
While we're talking grid systems, I recommend everyone try out Lost Grid The guy behind Lost Grid is the original creator of Jeet. He has explored grid systems obsessively for years.1 point
-
Hi Congomonster, you have to change the fieldname. in your case scf_fullName in e.g. scf_Nachname. Be carefull. the prefix scf_ is important. And you also have to change the values ( input - Tag ) in your form. But here you go without the prefix! Don´t forget to adapt the fieldnames in your modulconfiguration. also without the prefix.1 point
-
Perfect! Thank you so much for this, adrian!! ( also, I think this should be the core functionality )1 point
-
Just like MySQL is the database of choice apache is still the widest spread http server. Nginx is quite rapidly rising in popularity, but in my impression it's mostly used by node environments or for complex server / routing setups. While there are already topics here about nginx settings to run processwire, the people running such complex setups should be able to make nginx do the same things like the apache .htaccess rules or even just place the apache behind nginx. If I get the facts right here then only ProCache is deeply dependent on an apache setup. While these should be the reasons why there aren't other options by now, a nginx configuration would be a nice addition to the core. Supporting another http server should be an easier thing than supporting other db's which are also on the wishlist.1 point
-
Hi guys, just finished new portfolio site. My friend Piter did the design, i did all the coding. In portfolio you can see couple of our sites, all build on processwire. Site is still in tests, so there might be some bugs . Cheers. http://avenueagency.eu/1 point
-
wrote an article http://www.okeowoaderemi.com/articles/posts/wordpress-to-processwire-a-guide-for-developers/1 point
-
I think you should be asking, why do you want to use Gulp or Grunt? What are you doing (or want to do) in your projects that needs those tools or that workflow? If you don't need them, don't use them1 point
-
Greetings, Welcome SoccerGuy3! I also was a PyroCMS user back when it first came to life (when it was a CI application and Mr. Sturgeon was still actively involved). PyroCMS is a great system, and I liked it a lot... That is, until I started using ProcessWire! Looking forward to seeing other questions you have. Thanks, Matthew1 point
-
Tell me if I understood it all wrong, but what you are describing here is the pageTable field. Did you have a look at pageTable Extended? It comes even closer visualy to what you described.1 point
-
Added registration with confirmation email and activation link I've mainly followed this thread https://processwire.com/talk/topic/4066-activate-user-account-via-email/ The user who registers is created with the unpublished status: $new_user->addStatus( Page::statusUnpublished ); and when she/he clicks on the confirmation link received via email the status turns published: $activate_userid = $this->sanitizer->text( $this->input->get->userid ); $activate_hash = $this->sanitizer->text( $this->input->get->hash ); $this_user = $this->wire('pages')->find( "template=user,id=$activate_userid, include=all" )->first(); if ( is_object( $this_user ) && isset( $this_user->id ) ) { if ( strcmp( $this_user->activation_key, $activate_hash ) == 0 && $this_user->is( Page::statusUnpublished ) ) { echo __( "Thank you! Your account has been activated!" ); $activate_user = $this_user; $activate_user->of(false); $activate_user->activation_key = "0"; $activate_user->removeStatus( Page::statusUnpublished ); $activate_user->save(); } } In the attached pic the configuration page which allows to specify email's fields. As a side note, I've initially tried to get the user with his username: $this->wire( 'users' )->find( "name=$activate_username, include=unpublished" ); but the returned object was really complex and completely protected, so I've changed the behaviour using the user's id.1 point
-
Here is something I hacked together quickly for automatically adding new child pages to the pagetable field. This is only if you are using the page as the parent. It also handles deletion of items if they are trashed externally. I also disabled the internal check for orphans - because they have been automatically added already, there is no need for the "Children were found that may be added to this table. Check the box next to any you would like to add." option. I seems to be working great here, but please test carefully!! Add this to your admin.php file: wire()->addHookBefore('InputfieldPageTable::render', function($event) { $pp = wire('pages')->get(wire('input')->get->id); $ptf = $event->object; //remove pages from pagetable field if they were externally trashed foreach($pp->{$ptf->name} as $item) { if($item->is(Page::statusTrash)) $pp->{$ptf->name}->remove($item); } //add pages to pagetable field if they were created externally foreach($pp->children as $child) { if(!$ptf->has($child->id)) { $pp->{$ptf->name}->add($child); $pp->of(false); $pp->save($ptf->name); } } //reset orphans property so that we don't get a message asking to add new pages that are now already automatically added $ptf->setOrphans(new pageArray()); });1 point
-
I didn't think about the pagination issue. I am not sure there is an easy fix for that with the current options for hooking into ProcessPageList Just out of interest though, here is a new version that uses ProcessPageList::find as the hook - it simplifies some things quite a lot, but still doesn't fix the pagination issue <?php /** * * * ProcessWire 2.x * Copyright (C) 2010 by Ryan Cramer * Licensed under GNU/GPL v2, see LICENSE.TXT * * http://www.processwire.com * http://www.ryancramer.com * */ class HideOtherUserPages extends WireData implements Module { public static function getModuleInfo() { return array( 'title' => 'HideOtherUserPages', 'author' => 'Adrian Jones', 'version' => 1, 'singular' => true, 'autoload' => true ); } public function init() { // only add hook only if the render parameter is set // (as used by ProcessPageList) // or if superuser, also exit if(!isset($_GET['render']) || $this->user->isSuperuser()) return; $this->addHookAfter('ProcessPageList::find', $this, 'pageListHiddenPages'); } public function pageListHiddenPages(HookEvent $event){ $pages = $event->return; // make sure it's an ajax request if($this->config->ajax){ // manipulate the json returned and remove any pages found from array foreach($pages as $p) { if($p->parent->name != 'visitenkarte') continue; if($p->name != $this->user->name) $pages->remove($p); } $event->return = $pages; } } }1 point
-
I'm getting this right now (right after updating from 2.4.3 to 2.4.5), so it's definitely an outstanding issue. Will have to dig in to see what's going on.. Edit: Just guessing, but could this be related to this commit and the part about "6) Convert Fieldtype modules to load on-demand rather than all at boot"? Looks like after the update when InputfieldCropImage runs, FieldtypeCropImage hasn't been init'd yet.. which obviously results in getThumb() not being available. Anyway, will have to debug more. Edit 2: Whether or not that was the issue, I've solved it locally by making sure that FieldtypeCropImage is loaded with InputfieldCropImage. I can't uninstall the module or try other tricks on this site, as it's already in production -- I'm assuming that Antti or Ryan will dig out the real reason (and fix) for this, but in the meantime this works for me: Index: InputfieldCropImage.module =================================================================== --- InputfieldCropImage.module (revision 7702) +++ InputfieldCropImage.module (working copy) @@ -13,7 +13,8 @@ public function init() { parent::init(); - + // make sure FieldtypeCropImage is loaded + $this->modules->get("FieldtypeCropImage"); //default settings $this->set('thumbSetting', 'thumbnail,100,100'); }1 point
-
Wao! thank you so much statestreet. You were the last piece to the puzzle. I just did a fresh install and read this entire thread. For those who are wondering Follow arjen Instructions here: https://processwire.com/talk/topic/1025-multisite/#entry20399 For dev or localhost you'll need to edit your host file for your second domain name so it points to the same directory EG. 127.0.0.1 madbox.com You may need to edit your virtual host when it goes live so it points to the right directory. Doesn't really matter for dev. <VirtualHost 127.0.0.1> ServerName sandbox.com ServerAlias madbox.com DocumentRoot "C:/wamp/sandbox.com" <Directory "C:/wamp/sandbox.com"> allow from all order allow,deny AllowOverride All </Directory> </VirtualHost> Then in the site/config.php you'll need to edit the httpHosts variable (last one) EG. $config->httpHosts = array('sandbox.com', 'www.sandbox.com','www.madbox.com','madbox.com');1 point
-
I finally figured this one out. I had just about given up, when I thought to look in config.php, and lo and behold, there at the bottom was $config->httpHosts, which only contained the domains that were working. I added the other domains, and now the multisite module is working excellently.1 point