kongondo

Module: Blog

763 posts in this topic

I need some help. I have read all posts and documentation but can not get it to work. I have two questions.

1. Image summary page
My blog index page works but I would like to have the image on the right side. Can I do this with CSS (img.post-featured-image{float:right})?

<div class='row'>
	<div class='col-md-12'>			
		<?php
			$blog = $modules->get("MarkupBlog");
			$options = array('width'=>280, 'alt'=>'title', 'post_small_image'=>2);
			$content = $blog->renderPosts("limit=10", true, $options);
			echo $content; 
		?>	
	</div>
</div>

haddock.png

2. blog-post.php 

How can I output the post that is linked to. I mean the page with the full blog-item? I use this code but it does not work.

$blog = $modules->get("MarkupBlog");
$singlePost = $pages->get('template=blog-post, sort=-created');
$out = $blog->renderPosts($singlePost);
echo $out;

Can anyone help out or give directions on how to find solutions

Share this post


Link to post
Share on other sites
1 hour ago, tooth-paste said:

1. Image summary page
My blog index page works but I would like to have the image on the right side. Can I do this with CSS (img.post-featured-image{float:right})?

Yes, that's CSS issue. Try and see if it works ^_^.

1 hour ago, tooth-paste said:

2. blog-post.php 

How can I output the post that is linked to. I mean the page with the full blog-item? I use this code but it does not work.

Are you using the demo template files that come with blog or did you create/or are using a blank blog-post.php? If the latter, then please have a look at the example demo file. It is a bit redundant to have the code you pasted (which is an example code I gave for some other context) within a blog-post page itself (i.e. redundant to use it in blog-post.php which is the template file for a single blog post).

1 person likes this

Share this post


Link to post
Share on other sites

Yes, I meant AND. Rewriting URL as you suggest is way beyond my capability. I guess I'd have to live with it. In any case it's no biggie.

About the categories, sorry about the confusion.  What I meant was the categories that are displayed at the end of each post. Ideally when you click on it it should take you to the pages with the "news" and "blog" template respectively rather than the page with "category" template.  I hope I'm makes sense.

Thanks for your help.

Share this post


Link to post
Share on other sites

Hi. I cannot edit the blog using the dashboard panel, every time I try to save a blog-post (or add a category or edit the blog setting etc) the page re-loads and nothing is saved. This is very strange because it used to work fine. I've tried with both 'blog-author' & 'superuser' roles, checked the logs in PW, check the developer tools on browser, tried with different browsers... I don't see any error message anywhere, I wish I could post more information. On my local machine the blog is still working, on the live server (same files) I have problems. Anyone had this problem before?

PW 2.8.35 - Blog 2.4.0

Share this post


Link to post
Share on other sites
On 17/02/2017 at 4:51 PM, MaryMatlow said:

What I meant was the categories that are displayed at the end of each post. Ideally when you click on it it should take you to the pages with the "news" and "blog" template respectively rather than the page with "category" template.  I hope I'm makes sense.

That's the expected behaviour. When you click on a category, you are taken to its page and are shown a list of all the posts that use that category, i.e. /category/my-category/. I can't remember how you set up, but if your "news" is a category, clicking on a post categorised under "news" should take you to /category/news/ with a list of all posts classified as news items. 

7 hours ago, palacios000 said:

This is very strange because it used to w

Seems something changed in your system? Some autoload module that is affecting save? I have tested and it works fine here. Does the same thing happen if you edit the post page normally? (i.e. not in the Dashboard modal).

Share this post


Link to post
Share on other sites

As you suggested I use our demo templates and alter them to my own needs. It works great. Thank you. Can you help me out with the topNav.

On the blog page with all post there is a topNav with selectable Categories. When you click on a single post, the topNav is replaced with a subNav 'See also' and 'Related categories'. Can I remove the subNav and replace it with the topNav? So I would like to always select Categories in stead of 'Related post'. 

In the template file 'blog-post' I removed the subnav. Is it possible to add the topNav(categories) on a single post?

Share this post


Link to post
Share on other sites

The method rendering those side menus is renderNav(). It takes as a second parameter an array or PageArray. In blog.post (the template file for a single post, which you wish to edit), around lines 20 - 22, you can see it takes the PageArray made up of the current post's categories (blog_categories) as follows:

if(count($page->blog_categories)) $subNav .= $blog->renderNav(__('Related Categories'), $page->blog_categories);

In the main blog page, i.e. the one that uses the template blog.php, around lines 14 - 15, we see the same function taking a different PageArray; one that is made up of ALL the categories as follows:

$categories = $pages->get('template=blog-categories');// this grabs the parent of all category pages
$subNav = $blog->renderNav($categories->title, $categories->children);// we pass its children, a PageArray made up of all categories

So, the latter code (the lines 14 - 15 in blog.php) is what you need to copy to your blog-post.php to achieve your desired result. Please note that in that demo code, there is no limit set to the number of categories that are returned. If you have lot's of categories you will want to place a limit on the children, e.g. $categories->children('limit=50');

Share this post


Link to post
Share on other sites

Preview of new Blog Dashboard UI coming in the next update...

Posts List

new-blog-ui-posts.thumb.png.becafecec27d3f5616477764c032b2ef.png

Quick Post (now in modal)

new-blog-ui-quick-post-with-rte.thumb.png.79f256ed52c307e3fb2fc328e78a1c1c.png

Thoughts? Opposition :)?

Edited by kongondo
2 people like this

Share this post


Link to post
Share on other sites
On 18/02/2017 at 7:29 PM, kongondo said:

Seems something changed in your system? Some autoload module that is affecting save? I have tested and it works fine here. Does the same thing happen if you edit the post page normally? (i.e. not in the Dashboard modal).

Thanks for the quick reply! Update:

  • I can edit or add pages normally, I have role 'superuser'
  • From the dashboard I can only edit posts, I cannot add new ones.
  • I have re-installed the blog module, with same results
  • I have checked the user permissions, both on the role 'blog-author' & from the blog- templates
  • I've cleared PW cache in /assets/cache
  • probably on the live server, I was never able to add new posts from the dashborad

What else can I check? Thanks a lot for any hint

Share this post


Link to post
Share on other sites

Hello to all,

i'm new to processwire and started with an test installation (3.0.42) with multilanguage support and the blog modul. I have write a test post and if I call it at the frontend I get the following error message:

Recoverable Fatal Error: Argument 1 passed to MarkupBlog::renderComments() must be an instance of CommentArray, instance of ProcessWire\CommentArray given, called in C:\xampp\htdocs\pwire2\site\assets\cache\FileCompiler\site\templates\blog-post.php on line 54 and defined (line 1059 of C:\xampp\htdocs\pwire2\site\assets\cache\FileCompiler\site\modules\ProcessBlog\MarkupBlog.module) 

I've searched the forum but nothing found. Would it be better to use PW 2.8.35 for a new project?

Thanks for your help!

Alex

Share this post


Link to post
Share on other sites
On 20/02/2017 at 9:11 AM, palacios000 said:

What else can I check? Thanks a lot for any hint

Difficult to tell at this point. Could you confirm that the post (meaning the textarea, etc, inputs) are actually sent? JS errors? If it works on your local server but not the live one...that tells us there is some configuration in the live server affecting things. Other than these, I could have look if you are able to grant me temporary access.

On 20/02/2017 at 5:34 PM, al-ex23 said:

i'm new to processwire and started with an test installation (3.0.42) with multilanguage support and the blog modul. I have write a test post and if I call it at the frontend I get the following error message:

Welcome to the forums and ProcessWire @al-ex23. I am not sure whether that's a file-compiler related problem. Does refreshing several times help? 

Share this post


Link to post
Share on other sites

Happy to announce Blog 2.4.1 is now available for testing on the dev branch. Please test and let me know that it works OK, all the way from install to uninstall and everything in between, thanks.

This version is highly refactored, brings in a new cleaner UI (at least I think so), including better sorting of posts/categories/tags, author bios, category description (not sure many know that categories have a field for entering descriptions), etc and one new (frontend) option that enables the control of the 'edit' link that appears for logged in users when viewing a Blog Post. The link can now be placed at the top, bottom or switched off altogether (@thanks to antoiba86 idea).

Here are a couple of screens. I have tested in 2.7.2, 2.8.35 and 3.0.42 and everything seems to work fine. However, further tests are needed before I commit this to master. That's where you come in, thanks.

 

Blog 2.4.1 - 001.png

Blog 2.4.1 - 002.png

Blog 2.4.1 - 003.png

Blog 2.4.1 - 004.png

Blog 2.4.1 - 005.png

Blog 2.4.1 - 006.png

Blog 2.4.1 - 007.png

Blog 2.4.1 - 008.png

Blog 2.4.1 - 009.png

Blog 2.4.1 - 010.png

Blog 2.4.1 - 011.png

Blog 2.4.1 - 012.png

Edited by kongondo
7 people like this

Share this post


Link to post
Share on other sites

@kongondo Seriously this is an awesome job, I use the blog alot and this looks really clean and 'lit'. Can't wait for the new UiKit however would there be a guide to other devs so their Modules looks clean with the new UI 

2 people like this

Share this post


Link to post
Share on other sites

Hi @kongondo, I had to reinstall the Blog module as it was giving a problem (it was completely disabled, couldn't perform any action: post, delete etc.). Anyway ,I reinstalled and everything works fine but for the comments. It is giving me this error:

 

Recoverable Fatal Error: Argument 1 passed to MarkupBlog::renderComments() must be an 
instance of CommentArray, instance of ProcessWire\CommentArray given, called 
in /xxx/html/site/templates/blog-post.php on line 53 and 
defined (line 1059 of /xxx/html/site/modules/ProcessBlog/MarkupBlog.module) 

This is the code I'm using on blog_post.php:

 

	$blog = $modules->get("MarkupBlog");
    $blogConfigs = $modules->getModuleConfigData('ProcessBlog');
    $renderComments = $blogConfigs['commentsUse'] == 1 ? $blog->renderComments($page->blog_comments) : '';

    $options = array('post_date_text' => on, 'post_categories'=>0, 'post_comments' => 2, 
	'post_large_image' => 1, 'post_author' => 1);
    $content = $blog->renderPosts($page, false, $options) . $blog->postAuthor() .
	$renderComments . $blog->renderNextPrevPosts($page);//with post author widget
    
    //include the main/common markup
    require_once("blog-main.inc");

 

 

I'm using ProscessBlog 2.4 and Processwire 3.0.53

 

What could be the problem here? Thanks for your help.

 

Share this post


Link to post
Share on other sites

Just an update: This was resolved when I recompiled the modules. 

In trying to fix this I had uninstalled ProcessCommentsManager, but now I can't install it back. It doesn't seem to exist. Is there any other way to manage comments?

Share this post


Link to post
Share on other sites

Hi @MaryMatlow

Glad you got it sorted. That's a core module, so check under core/modules/ in the modules page, specifically a process module called 'Comments'.

1 person likes this

Share this post


Link to post
Share on other sites
On 2017-03-02 at 6:21 PM, kongondo said:

Hi @MaryMatlow

Glad you got it sorted. That's a core module, so check under core/modules/ in the modules page, specifically a process module called 'Comments'.

Done. Thank you.

Share this post


Link to post
Share on other sites

I've moved my site to a other server and getting a fatal error! Please help.

Notice: Undefined variable: class in /var/www/vhosts/website/httpdocs/site/assets/cache/FileCompiler/site/modules/Blog/MarkupBlog.module on line 1443

Fatal error: Class 'DOMDocument' not found in /var/www/vhosts/website/httpdocs/site/assets/cache/FileCompiler/site/modules/Blog/MarkupBlog.module on line 885

Error: Class 'DOMDocument' not found (line 885 of /var/www/vhosts/website/httpdocs/site/modules/Blog/MarkupBlog.module) 

 

Share this post


Link to post
Share on other sites
59 minutes ago, tooth-paste said:

I've moved my site to a other server and getting a fatal error!

 

59 minutes ago, tooth-paste said:

Error: Class 'DOMDocument' not found

Seems your new server does not have the PHP extension DOMDocument installed. Ask your host to install it for you.

1 person likes this

Share this post


Link to post
Share on other sites

Hello Community,

With the module ProcessBlog I have only problems and can not install it right now. Please check this under https://processwire.wpzweinull.ch/blog-9/. There is something missing CSS or the template is not properly installed.

What can it be what has led to this problem? I installed the modules ProcessBlog scratch. Downloaded from the database of the modules, installed, selected the style and then installed the blog with categories and settings.

But something is still quite wrong.

I would be grateful for any tip very.

Thanks in advance.

Share this post


Link to post
Share on other sites
You must assign a template to the page before setting custom field values (title__data) [pageClass=Page, template=]

This error is displayed after installing the blog component. So something really does not happen.

Share this post


Link to post
Share on other sites

@Alex L,

Welcome to the forums.

Please note that for modules that have their own support forums, we do not start other threads but rather post in those support threads. OK, to your question. 

If you want to use Blog's demo template files and styles, it is easiest if you install ProcessWire with a 'blank profile'. What is happening is that the profile you are using (I think it's called 'site-default') is conflicting with Blog's template files. I am in a bit of a rush so cannot explain further.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By blad
       
      Hi guys!
      I'm creating a module to manage, edit, publish ... pages. It is very similar to ProcessBatcher.
       
       
      Changelog:
      In progress 
      Features:



      Select pages with your mouse like a desktop enviroment. If you press "edit" the selected pages will appear in a lightbox.


      Drag pages to do actions.
      Any feedback is welcome
       
       
    • By abdus
      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.
    • By Richard Jedlička
      Tense    
      Tense (Test ENvironment Setup & Execution) is a command-line tool to easily run tests agains multiple versions of ProcessWire CMF.
      Are you building a module, or a template and you need to make sure it works in all supported ProcessWire versions? Then Tense is exactly what you need. Write the tests in any testing framework, tell Tense which ProcessWire versions you are interested in and it will do the rest for you.

      See example or see usage in a real project.
      How to use?
      1. Install it: 
      composer global require uiii/tense 2. Create tense.yml config:
      tense init 3. Run it:
      tense run  
      For detailed instructions see Github page: https://github.com/uiii/tense
       
      This is made possible thanks to the great wireshell tool by @justb3a, @marcus and others.
       
      What do you think about it? Do you find it useful? Do you have some idea? Did you find some bug? Tell me you opinion. Write it here or in the issue tracker.
    • By ukyo
      FieldtypeFontIconPicker
      v.0.1.6
      Fix FieldtypeFontIconPicker sanitizeValue() v.0.1.5
      Added uikit icon select support (required AdminThemeUikit), because uikit icons not working standalone. v.0.1.4 :
      Fix issue FontIconPicker inside repeater v.0.1.3 :
      FontAwesome updated to 4.7.0 v.0.1.2 :
      Little Corrections Some works about icon pickers inside repeater via ajax load v.0.1.1 :
      FontAwesome updated to 4.6.3 v.0.1.0 :
      Custom CSS file url support Added hook method ___beforeRender(), you can check hook example for usage Added multiple icons library use option Added Ionicons Library Now module using cdn for load icon fonts v.0.0.9 inside dev branch
      Added hook method ___beforeRender(), you can check hook example for usage Added multiple icons library use option Added Ionicons Library Now module using cdn for load icon fonts v.0.0.8
      FontAwesome 4.5 update, Improvements and Performance updates Important ! After update module check your input settings, because i changed input attribute names (This will only effect input options, like theme, category). Changed loading icon method from input:hidden to select>optgroup>option, added module js file for load and correct icon picker container many changes…. v.0.0.7
      FontAwesome updated to 4.4.0 v.0.0.6
      Missed... array compatibility for usage, from [$foo, $bar] to array($foo, $bar) v.0.0.5
      Fix for oldest pw versions (Assets file loding scripts moved to inputfieldfonticonpicker module) v.0.0.4
      Array compatibility for usage, from [$foo, $bar] to array($foo, $bar) v.0.0.3
      Small z-index problem solved v.0.0.2
      MarkupFontIconPicker added v.0.0.1
      Start Point Module allow you to use Fotn-Awesome icons easily. You can select icons directly from icon select list, also you can set settings for each InputfieldFontIconPicker.
       
      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".

      Example :
      if($my-icon-field) echo "<i class='my-prefix-{$my-icon-field}' />"; Hook Before Render Example This example using /site/templates/admin.php file for hook
      wire()->addHook('InputfieldFontIconPicker::beforeRender', function($event) { if(!$event->return) return; // Get Input Name (For specified input hook, if you want apply all InputfieldFontIconPicker remove inputName check) $inputName = ""; if(isset($event->object->attributes['name'])) $inputName = $event->object->attributes['name']; // Get Input Name (For specified input hook, if you want apply all InputfieldFontIconPicker remove inputName check) if($inputName == 'icon_picker') { /** * Load your custom icons function file * Your array need to be same format with Icons/FontAwesome.php or Icons/Ionicons.php * Also you can pass directly an array */ wireIncludeFile('MyCustomIconFile'); // Set icons as $icons variable $icons = MyCustomIconsArray(); // Set your options $return = array( 'attributes' => array( 'category' => '', 'theme' => 'fip-grey', 'empty-icon' => 1, 'empty-icon-value' => '', 'icons-per-page' => 20, 'has-search' => 1 ), 'icons' => $icons ); // Return the event $event->return = $return; } $event->return; }); 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 ]); Module Using
      Font-Awesome v4.3 jQuery fontIconPicker v2.0.0 Screenshots - InputfieldFontIconPicker input settings

      InputfieldFontIconPicker Setting "Category Select"
       


      InputfieldFontIconPicker Setting "Theme Select"



      Screenshots - InputfieldFontIconPicker page edit views

      InputfieldFontIconPicker Search


      InputfieldFontIconPicker Categories


       
      For issues and other things here is MY Github Repo
    • By FIA2008
      I'm using this piece of code to add a table layout to my module configuration:
      $this ->wire('modules') ->get('MarkupAdminDataTable') Then I use this to add rows to my table:
      $this ->wire('modules') ->get('MarkupAdminDataTable') ->row($data) But when I try to add a field to my table, It's not rendered as a field, I only see the the classname of the input field instead of the field itself.
      Is it possible to render a field into a table row?