Orodreth
Members-
Posts
12 -
Joined
-
Last visited
Everything posted by Orodreth
-
Thanks for the 2.4.6 update !!! Some ideas. If these can be accomplished with the existing framework, let me know. I will modify this list as the muse strikes. 1) Multiple level tag categories (tags as child of child tag?) tags (parent page?) tag (child of parent page) = fruits tag (child of fruits tag) = apple tag (child of parent page) = vegetables tag (child of vegetables tag) = carrot 2) Role blog-reader functionality mark a blog post as "read" 3) Role blog-reader functionality mark a blog post as a "favorite" 4) Blog-post functionality calculate and display estimated read time based on length of blog post 5) Blog-post functionality designate a post as sticky or pinned, to feature it on the main blog page
-
Thank you for maintaining support on ProcessBlog. I know its a little older now and you have a zillion other projects to do but ProcessBlog is a good module! ProcessWire 3.0.184 and ProcessBlog 2.4.5 and SchedulePages 1.2.2 ( I will also try PW 3.0.164 and 3.0.148 which are the only two prior tags I can see on github and install ProcessBlog and report back on those two tests at end of this post) If I uninstall ProcessBlog and uninstall SchedulePages... then install SchedulePages there are no errors and I create a new test page without any errors. Then, uninstalling SchedulePages, and install ProcessBlog without SchedulePages, the initial install works fine, but when I go to menu > Blog and click Finalize Install... a bunch of errors appear: Notice: Trying to get property 'parentTemplates' of non-object in /home4/orodreth/wire/core/PagesEditor.php on line 326Notice: Trying to get property 'id' of non-object in /home4/orodreth/wire/core/PagesEditor.php on line 335Notice: Trying to get property 'fieldgroup' of non-object in /home4/orodreth/wire/core/PagesEditor.php on line 349Warning: Invalid argument supplied for foreach() in /home4/orodreth/wire/core/PagesEditor.php on line 349 ProcessWire: ProcessBlog: Can’t save page 0: /blog-author/: It has no parent assigned ProcessBlog: Can’t save page 0: /blog-author/: It has no parent assigned DEBUG MODE BACKTRACE ($config->debug == true): #0 /home4/orodreth/wire/core/Pages.php(799): ProcessWire\PagesEditor->save(Object(ProcessWire\Role), Array) #1 /home4/orodreth/wire/core/Wire.php(420): ProcessWire\Pages->___save(Object(ProcessWire\Role), Array) #2 /home4/orodreth/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___save', Array) #3 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Pages), 'save', Array) #4 /home4/orodreth/wire/core/Page.php(2774): ProcessWire\Wire->__call('save', Array) #5 /home4/orodreth/site/modules/ProcessBlog/BlogInstallWizard.php(324): ProcessWire\Page->save() #6 /home4/orodreth/site/modules/ProcessBlog/BlogInstallWizard.php(304): ProcessWire\BlogInstallWizard->createRole() #7 /home4/orodreth/site/modules/ProcessBlog/ProcessBlog.module(3335): ProcessWire\BlogInstallWizard->verifyInstall(Object(ProcessWire\InputfieldForm)) #8 /home4/orodreth/site/modules/ProcessBlog/ProcessBlog.module(778): ProcessWire\ProcessBlog->installWizard(Object(ProcessWire\InputfieldForm)) #9 /home4/orodreth/site/modules/ProcessBlog/ProcessBlog.module(1945): ProcessWire\ProcessBlog->renderFirstAccess(Array) #10 /home4/orodreth/public_html/storiesTEST/wire/core/ProcessController.php(337): ProcessWire\ProcessBlog->execute() #11 /home4/orodreth/public_html/storiesTEST/wire/core/Wire.php(414): ProcessWire\ProcessController->___execute() #12 /home4/orodreth/public_html/storiesTEST/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___execute', Array) #13 /home4/orodreth/public_html/storiesTEST/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\ProcessController), 'execute', Array) #14 /home4/orodreth/public_html/storiesTEST/wire/core/admin.php(160): ProcessWire\Wire->__call('execute', Array) #15 /home4/orodreth/site/templates/admin.php(16): require('/home4/orodreth...') #16 /home4/orodreth/wire/core/TemplateFile.php(327): require('/home4/orodreth...') #17 /home4/orodreth/wire/core/Wire.php(414): ProcessWire\TemplateFile->___render() #18 /home4/orodreth/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___render', Array) #19 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\TemplateFile), 'render', Array) #20 /home4/orodreth/wire/modules/PageRender.module(554): ProcessWire\Wire->__call('render', Array) #21 /home4/orodreth/wire/core/Wire.php(417): ProcessWire\PageRender->___renderPage(Object(ProcessWire\HookEvent)) #22 /home4/orodreth/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___renderPage', Array) #23 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\PageRender), 'renderPage', Array) #24 /home4/orodreth/wire/core/WireHooks.php(1059): ProcessWire\Wire->__call('renderPage', Array) #25 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Page), 'render', Array) #26 /home4/orodreth/wire/modules/Process/ProcessPageView.module(225): ProcessWire\Wire->__call('render', Array) #27 /home4/orodreth/wire/modules/Process/ProcessPageView.module(171): ProcessWire\ProcessPageView->renderPage(Object(ProcessWire\Page)) #28 /home4/orodreth/wire/core/Wire.php(417): ProcessWire\ProcessPageView->___execute(true) #29 /home4/orodreth/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___execute', Array) #30 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\ProcessPageView), 'execute', Array) #31 /home4/orodreth/index.php(55): ProcessWire\Wire->__call('execute', Array) #32 {main} Blog The process returned no content. ---------------------------------------------- UPDATE ---------------------------------------------- > Installed ProcessWire 3.0.148 and ProcessBlog 2.4.5 without SchedulePages, and saw no errors. > Installed ProcessWire 3.0.164 and ProcessBlog 2.4.5 without SchedulePages, and saw no errors. > Installed ProcessWire 3.0.184 and ProcessBlog 2.4.5 without SchedulePages (completely new install just in case) and same errors above with blog-author I reviewed the ProcessWire Release Notes and could only find one instance between 3.0.166 and 3.0.184 where something changed with "roles", in case thats related to the blog-author error
-
This is a completely new install with ProcessWire 3.0.184 and ProcessBlog 2.4.5 and SchedulePages 1.2.2 I installed Lazy Cron successfully. I installed SchedulePages successfully. I installed ProcessBlog successfully. Then chose the settings for ProcessBlog: Select a Blog URL Style = Style 3 Scheduled auto-publish/unpublish = yes ( The module SchedulePages is installed ) Install commenting feature = yes Install template files = Blank template files Install demo css = no Install demo javascript = no Tqags for blog templates = -blog Use RTE in Quick Post = yes > click Submit Success > go to menu Blog Finalize your blog installation no changes > click Run Install Wizard Error shown below Did I miss a step or do I need to do surgery on the SchedulePages.module ? ProcessWire: ProcessBlog: You must assign a template to the page before setting custom field values (schedulerSkip) DEBUG MODE BACKTRACE ($config->debug == true): #0 /home4/orodreth/wire/core/Page.php(778): ProcessWire\Page->setFieldValue('schedulerSkip', true, true) #1 /home4/orodreth/wire/core/Page.php(1768): ProcessWire\Page->set('schedulerSkip', true) #2 /home4/orodreth/site/assets/cache/FileCompiler/site/modules/SchedulePages/SchedulePages.module(127): ProcessWire\Page->__set('schedulerSkip', true) #3 /home4/orodreth/wire/core/WireHooks.php(1059): SchedulePages->beforeSave(Object(ProcessWire\HookEvent)) #4 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Pages), 'save', Array) #5 /home4/orodreth/wire/core/Page.php(2774): ProcessWire\Wire->__call('save', Array) #6 /home4/orodreth/site/modules/ProcessBlog/BlogInstallWizard.php(324): ProcessWire\Page->save() #7 /home4/orodreth/site/modules/ProcessBlog/BlogInstallWizard.php(304): ProcessWire\BlogInstallWizard->createRole() #8 /home4/orodreth/site/modules/ProcessBlog/ProcessBlog.module(3335): ProcessWire\BlogInstallWizard->verifyInstall(Object(ProcessWire\InputfieldForm)) #9 /home4/orodreth/site/modules/ProcessBlog/ProcessBlog.module(778): ProcessWire\ProcessBlog->installWizard(Object(ProcessWire\InputfieldForm)) #10 /home4/orodreth/site/modules/ProcessBlog/ProcessBlog.module(1945): ProcessWire\ProcessBlog->renderFirstAccess(Array) #11 /home4/orodreth/wire/core/ProcessController.php(337): ProcessWire\ProcessBlog->execute() #12 /home4/orodreth/wire/core/Wire.php(414): ProcessWire\ProcessController->___execute() #13 /home4/orodreth/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___execute', Array) #14 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\ProcessController), 'execute', Array) #15 /home4/orodreth/wire/core/admin.php(160): ProcessWire\Wire->__call('execute', Array) #16 /home4/orodreth/site/templates/admin.php(16): require('/home4/orodreth...') #17 /home4/orodreth/wire/core/TemplateFile.php(327): require('/home4/orodreth...') #18 /home4/orodreth/wire/core/Wire.php(414): ProcessWire\TemplateFile->___render() #19 /home4/orodreth/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___render', Array) #20 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\TemplateFile), 'render', Array) #21 /home4/orodreth/wire/modules/PageRender.module(554): ProcessWire\Wire->__call('render', Array) #22 /home4/orodreth/wire/core/Wire.php(417): ProcessWire\PageRender->___renderPage(Object(ProcessWire\HookEvent)) #23 /home4/orodreth/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___renderPage', Array) #24 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\PageRender), 'renderPage', Array) #25 /home4/orodreth/wire/core/WireHooks.php(1059): ProcessWire\Wire->__call('renderPage', Array) #26 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Page), 'render', Array) #27 /home4/orodreth/wire/modules/Process/ProcessPageView.module(225): ProcessWire\Wire->__call('render', Array) #28 /home4/orodreth/wire/modules/Process/ProcessPageView.module(171): ProcessWire\ProcessPageView->renderPage(Object(ProcessWire\Page)) #29 /home4/orodreth/wire/core/Wire.php(417): ProcessWire\ProcessPageView->___execute(true) #30 /home4/orodreth/wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___execute', Array) #31 /home4/orodreth/wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\ProcessPageView), 'execute', Array) #32 /home4/orodreth/index.php(55): ProcessWire\Wire->__call('execute', Array) #33 {main}
-
Thanks Kongondo. A quick test to include the CSS and JS looks promising. Continuing issues may be related to the LoginRegister markup needing some revisions to get it working completely.
-
LoginRegister customisation
Orodreth replied to The Frayed Ends of Sanity's topic in General Support
FlyDev, the LoginRegister module says that is does not support image fields, but it can be modified to do so, as you suggest. The snippet shown for the hook is to SAVE images that are input to the profile form. Is there another module or code samples that show more robust image field manipulations (choose file, generate and display thumbnail, save image, show existing image, delete image, overwrite image on save). The Image Field seems to have a lot of that functionality, but to use the Image Field on the LoginRegister, it looks like it requires some JS and CSS that exist in the admin section? -
I have Processwire 3.0.98 and LoginRegister module, and I am setting up the site functionality before making it pretty. So my site is installed with default PW theme/profile (no custom js or css yet). It looks like it is using the UIKit Admin theme on the admin side. The HTML output the user sees (client side / front end) for the Login, Register, Edit Profile pages looks like it could use the UiKit and JQuery css and javascript that is used on the admin side. Is there a way to include all of the JQuery and UiKit css and js to the /site/ front end?
-
I am using LoginRegister module (with PW3.x) and wanted to get CKEditor working for the user profile page bio. The modification from gebeer SOLVED it. Thanks.
-
Developing the function "favorite pages of an user"
Orodreth replied to LAPS's topic in General Support
LAPS, I am also using the LoginRegister module along with Kongondo Blog module, and wanted to add Favorite functionality for blog posts and users. This related thread gave me a good start: https://processwire.com/talk/topic/18618-best-way-to-handle-saving-an-item-as-a-favorite/ Guessing there will be more users than posts (and the pages may be sorted by favorite count in the future), I decided on using a page field "blog_favs" with input "templates : user" attached to my template "post". And I decided the Add/Remove functionality would be URL query based. Here is the code that I implemented in /site/Modules/MarkupBlog/MarkupBlog.module /** * Render favs * * Used by renderPostHead(). * * @access private * @param PageArray $blog_favs is field in blog_post template. * @return string $out Markup of favs * */ private function renderFavs($page, $small = false) { $options = $this->options; $out = ""; // if page field not available, break if ( !$page->blog_favs ) { return $out; } // if post display is summary snippet skip full UI // if user logged in, use full UI and functionality if ( $small != true && $this->wire('user')->isLoggedin() ) { $uid = $this->wire('user')->id; // uid is int $favExists = 0; // check query string for Add/Remove function $queryCheck = $this->wire('sanitizer')->entities($this->wire('input')->queryString); $queryAddFav = "add_fav={$page->id}"; $queryRemoveFav = "remove_fav={$page->id}"; $doSaveFav = 0; // on AddFav request, assume we are going to save fav $doRemoveFav = 0; // on RemoveFav request, assume we are going to remove fav if ( $queryCheck ) { if ( $queryCheck == $queryAddFav ) { $doSaveFav = 1; } if ( $queryCheck == $queryRemoveFav ) { $doRemoveFav = 1; } } // only loop through blog_favs if there are entries // only loop once if ( count($page->blog_favs) > 0 ) { foreach( $page->blog_favs as $fav ) { $fav_int = (int)(string)$fav; // convert saved object to string then to int (!) if ( $fav_int == $uid ) { if ( $doRemoveFav == 1 ) { $page->of(false); $page->blog_favs->remove($fav); $page->save('blog_favs'); $out .= "<div>" . $options['post_removed_fav_text'] . "</div>"; } else { $favExists = 1; } break; } } } // if AddFav, only if user not already faved this post if ( $doSaveFav == 1 && $favExists == 0 ) { $page->of(false); $page->blog_favs->add($uid); // $uid is int $page->save('blog_favs'); $favExists = 1; $out .= "<div>" . $options['post_added_fav_text'] . "</div>"; } // show Add or Remove links for user if ( $favExists == 0 ) { $out .= "<div><a href='{$page->url}?{$queryAddFav}'>" . $options['post_add_fav_text'] . "</a></div>"; } else { $out .= "<div><a href='{$page->url}?{$queryRemoveFav}'>" . $options['post_remove_fav_text'] . "</a></div>"; } } // always display basic UI Favorites Counter (this is at end to capture add/remove changes) $out .= "<span class='favs'>" . $options['post_favs_text'] . " " . count($page->blog_favs) . "</span>"; return $out; } I make no claims on performance or code elegance, but if any of this is helpful to you, enjoy!!! -
Processwire 3.0.98 with Form Builder 0.3.4 trying to add CKEditor 4.8.0 to form... When pwlink and pwimage are enabled, there are 404 "File Not Found" errors when displaying the CKEditor: 404 /wire/modules/Inputfield/InputfieldCKEditor/ckeditor-4.8.0/plugins/pwimage/plugin.js 404 /wire/modules/Inputfield/InputfieldCKEditor/ckeditor-4.8.0/plugins/pwlink/plugin.js error on line 98 of /wire/modules/Inputfield/InputfieldCKEditor/ckeditor-4.8.0/ckeditor.js Moving the directories works, or manually commenting out the settings. Looks like the InputfieldCKEditor.module is conditionally removing the two configs... if($this->hasFieldtype === false) { // not applicable when no page attached unset($settings['pwlink'], $settings['pwimage']); unset($settings['plugins']['pwlink'], $settings['plugins']['pwimage']); } ...but there are errors when using pwlink and pwimage buttons. CKEditor pwimage and pwlink use a modal that works in admin/ but not on front-end
-
LoginRegister customisation
Orodreth replied to The Frayed Ends of Sanity's topic in General Support
Fixed User Name update when changing email: ... protected function ___processProfileForm(InputfieldForm $form) { ... if($this->allowFeature('login-email')) { // update name to be consistent with email $name = $this->emailToName($email); //-- THIS VALIDATES EMAIL-TO-NAME ... BUT DOES NOT CHANGE USER NAME $reason = ''; if(!$this->allowName($name, $reason)) { $emailField->error($this->_('Unable to change to new email address') . " ($reason)"); $emailField->val($user->email); $email = ''; } else { $user->set('name', $name); //-- ADDED THIS ELSE CONDITION TO UPDATE USER NAME } } if(strlen($email)) { $user->set('email', $email); $this->message(sprintf($message, $emailField->label)); } ... -
LoginRegister customisation
Orodreth replied to The Frayed Ends of Sanity's topic in General Support
I have a new install of ProcessWire 3.0.98 and have installed the module LoginRegister, which seems to be functioning as expected, with the following exception: The module is configured with [x] Use email address for login rather than user name After registration is confirmed and the user has an account, and they are logged in, they can edit profile. If the user changes email address on the profile and submits the form, it will change the email address correctly. But the user name is not being updated to the new email - as confirmed by going into Admin > Users and seeing the user with modified email, but original "name". The module appears to have a section on profile edit that will update the user name if the email address login is active... LoginRegister.module line 924: // update name to be consistent with email Is there another settings that I have to change to make this functional? -
Hi Kongondo! I am really liking your Blog module (v2.4.1). And I have a question (processwire 3.0.62): Under the section for Tags, I have a child tag that is parented to /tags/ Then I created a grandchild tag and it is parented to /tags/ but I want to change its parent to /tags/child/ When I try to do so, the UI only shows parent /child/ and when I save I get an error saying that the parent should be /tags/child/ Do I need to do something extra? Or is the parenting child to grandchild broken somehow?