kongondo

Module: Blog

736 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

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 cosmicsafari
      Hi All,
      Fairly new to ProcessWire so apologies if this is a daft question, but I am having a go creating my first module. I have set it up and enabled it as per the docs.
      However I have created another class within the same module directory, which was going to be used in the main module file but I can't get it to work for the life of me and I believe its due to me not fully understanding the namespace side of things.
      Example:
      MyModule.module.php
      <?php namespace ProcessWire; class MyModule extends WireData implements Module { public static function getModuleInfo() { return array( 'title' => 'Test Module', 'version' => 1, 'summary' => 'Test module', 'href' => '', 'singular' => true, 'autoload' => true, 'icon' => 'exchange', ); } public function newMethod( $testMessage ) { $foo = new Foo($testMessage); $foo->getFoo(); } } Foo.php
      <?php namespace ProcessWire; class Foo { protected $foo; public function __construct($foo) { $this->foo = $foo; } public function getFoo() { return $this->foo; } } Now as I understand it both these files should exist under the ProcessWire namespace, so in theory I should be able to use Foo within MyModule without any use statements as they both exist at the same level within the ProcessWire namespace?
      However when I try something like so:
      $myModule = $modules->getModule('MyModule'); $myModule->myMethod('Foo'); I would have thought this should return 'Foo', however I keep running into errors like:
      Any help would be appreciated.
    • By Max Allan Niklasson
      Hi, I think this is my first topic, even though I've been working with PW a few years. But now, I'm trying to restructure my way of coding, cause many templates (like activities for birding societies) are re appearing in multiple different websites. Since this, I've been working on redo this into a module, but as far as I have read I cannot store the templates (related to specific module) in the module's folder. It has to be in the templates folder?
       
    • By kongondo
      Menu Builder
       
      Modules Directory
      Project Page
      Read Me (How to install, use, etc..)

      If you want a navigation that mirrors your ProcessWire page tree, the system allows you to easily create recursive menus using either vanilla PHP or Soma's great MarkupSimpleNavigation. In some cases, however, you may wish to create menus that:
      1. Do not mirror you site's page tree (hirarchies and ancestry); and
      2. You can add custom links (external to your site) to.

      That is primarily where Menu Builder comes in. It is also helpful if you:
      3. Prefer creating menus via drag and drop
      4. Have a need for menus (or other listings) that will be changing regularly or that you want to allow your admin users to edit.

      The issue of custom menus is not new here in the forums. The difference is that this module allows you to easily create such menus via drag and drop in the Admin. Actually, you can even use it to just create some list if you wanted to. In the backend, the module uses the jQueryUI plugin nestedSortable by Manuele J Sarfatti for the drag and drop and is inspired in part by the WP Custom Menu feature.
       
      Please read the Read Me completely before using this module. 
      For Complex or highly-customised menus, it is recommended to use the getMenuItems() method as detailed in this post.
       
      Features
      Ability to create menus that do not mirror your ProcessWire Page Tree hierarchy/structure Menus can contain both ProcessWire pages and custom links Create menu hierarchies and nesting via drag and drop Easily add CSS IDs and Classes to each menu item on creating the menu items (both custom and from ProcessWire pages) or post creation. Optionally set custom links to open in a new tab Change menu item titles built from ProcessWire pages (without affecting the original page). E.g. if you have a page titled 'About Us' but you want the menu item title to be 'About' Readily view the structure and settings for each menu item Menus stored as pages (note: just the menu, not the items!) Menu items stored as JSON in a field in the menu pages (empty values not stored) Add menu items from ProcessWire pages using page fields (option to choose between PageAutocomplete and AsmSelect [default]) or a Selector (e.g. template=basic-page, limit=20, sort=title). For page fields, you can specify a selector to return only those specified pages for selection in the page field (i.e. asm and autocomplete) For superusers, optionally allow markup in your menu titles, e.g. <span>About</span> Menu settings for nestedSortable - e.g. maxLevels (limit nesting levels) Advanced features (e.g. add pages via selector, menu settings) currently permissible to superadmins only (may change to be permission-based) Delete single or all menu items without deleting the menu itself Lock down menus for editing Highly configurable MarkupMenuBuilder - e.g. can pass menu id, title, name or array to render(); Passing an array means you can conditionally manipulate it before rendering, e.g. make certain menu branches visible only to certain users [the code is up to you!]  Optionally grab menu items only (as a Menu object WireArray or a normal array) and use your own code to create custom highly complex menus to meet any need. More... In the backend, ProcessMenuBuilder does the menu creation. For the frontend, menus are displayed using MarkupMenuBuilder.

      Credits

      In this module's infancy (way back!), I wanted to know more about ProcessWire modules as well as improve my PHP skills. As they say, what better way to learn than to actually create something? So, I developed this module (instead of writing PW tutorials as promised, tsk, tsk, naughty, naughty!) in my own summer of code . Props to Wanze, Soma, Pete, Antti and Ryan whose modules I studied (read copied ) to help in my module development and to Teppo for his wonderful write-up on the "Anatomy of fields in ProcessWire" that vastly improved my knowledge and understanding of how PW works. Diogo and marcus for idea about using pages (rather than a custom db table), onjegolders for his helpful UI comments, Martijn Geerts, OrganizedFellow, dazzyweb and Mike Anthony for 'pushing me' to complete this module and netcarver for help with the code.
       
      Screens

    • By kongondo
      Introducing Variations, an Input- and Fieldtype for product variations and their attributes.
      Product variations is a topic that has been coming up now and then, especially in the recent past.  This module seeks to fill this gap. Though it's in its early stages of development, it is already functional and can be used as is. I decided to make an early announcement (modules development forum) in order to get early feedback from potential users. 
      The module is an alternative take on how variations can be built for a product. Imagine the ubiquitous T-Shirt. The product could vary by ...Size, Colour, Material, etc...These variations could in turn have internal variations, i.e. attributes....so, Size [Small, Large], Colour [Red, Blue]...etc; you get the drift.
      The usual approaches to building variations have been either to use Multiple pages, Repeaters, Page Table, Table or Matrix (limited to 1x1 variations). In this module, we do it a bit differently.
      First, the variations occur not at the Field level (meaning all product pages would have the same variations and attributes for each template) but at the page level. Secondly, there are no multiple pages for each variation and/or attributes; a product is a single page. The variations and their attributes are defined by site editors at the page level. Once a variations configuration has been defined, it is applied to the page and all possible combinations are generated (i.e. the Red,Small,Cotton; Red,Large,Cotton, etc) in the Inputfield. There is no limit to the number of variations and attributes that can be defined, although you will be amazed at how quickly the combinations grow! Prices are entered for each combination when editing the page. Combinations without prices are not saved to the database. Please note that prices cannot themselves vary at the page-level. Meaning, you cannot have ONE variation configuration that has different price inputs per product in the same FieldtypeVariations field.
      The module ships with an API for outputting variation combinations in the frontend. Search, database and in-memory work as normal in the frontend. In the backend, DataTables provides a nice paginated, filterable table. Prices can be entered on any pages (of the table) without loss of data (meaning you can enter prices on page 1, scroll to page 10, enter more prices, filter or search the products table, enter more prices and finally save; no data will be lost).
      I still have a couple of ideas and plans pending but would love to hear from you, thanks.
      Below is a short video demo of the module in its current state. Things may/will change, both UI and features. Btw, the Fieldtype, although primarily targeted at commerce applications, is by no means limited to this. Other uses requiring combinations of whatever number of variables are very much within the remit of the module.
      Planned/Hoped for features
      Import/Export product variations and attributes (Excel, etc) Full integration with Padloper (I will have to  discuss with @apeisa) SKU fields for each product variation Add/Remove extra subfields, e.g. multi-currency prices (currently there is only 1 input for each product variations' price) Product variation images? Etc... Please not this module is not related to this other planned module (but it may eventually).
      Sneak Peek Demo