Jump to content

Recommended Posts

Thanks Kongondo for this great offer! 

I'm currently experimenting with it, I came to the point where I want to change a little bit in the positioning of the blog.
Like placing the Date underneath the post instead of above. But I can't find where I can change those settings? 

Also, the option to show like 200 words and than the text 'view more'. I want to translate this to dutch, but I can neither find this one hehehe.
Can u help me out?

(Dont know what about this, but when i go to PW admin > blog > settings > I can change whatever I want, but it won't safe. It keeps saying the same text which comes by the installation)
I've tested this in Chrome and Safari, same problem. I' on ProcessWire 3.0.132 © 2019

  • Like 1

Share this post


Link to post
Share on other sites
On 6/4/2019 at 12:37 PM, Troost said:

Thanks Kongondo for this great offer! 

Glad you like it! :-).

On 6/4/2019 at 12:37 PM, Troost said:

Like placing the Date underneath the post instead of above. But I can't find where I can change those settings? 

You do that by passing $options to renderPosts(). I can only apologise that I've never completed the documentation for this module. Please have a look at the options here, in the method processPostsOptions(). All the options that can be passed to renderPosts() are there. For instance, 'post_date' => 1,// display post's date: 0=off,1=top(below post-headline),2=bottom(in post-foot)

On 6/4/2019 at 12:37 PM, Troost said:

Also, the option to show like 200 words and than the text 'view more'. I want to translate this to dutch, but I can neither find this one hehehe.
Can u help me out?

The string is on this line. Is it not appearing in the translation screen? I've never done translation myself so, I wouldn't know how to help beyond this. If you are still experiencing issues, maybe one of your multilingual members could help out.

On 6/4/2019 at 12:37 PM, Troost said:

(Dont know what about this, but when i go to PW admin > blog > settings > I can change whatever I want, but it won't safe. It keeps saying the same text which comes by the installation)

You caught a bug! Thanks for reporting. I've fixed it in the latest version (2.4.4). I've updated the module in the modules' directory.

  • Thanks 1

Share this post


Link to post
Share on other sites

Update: Blog 2.4.4

Changelog

  1. Fixed bug that caused blog settings not to save in blog admin. Thanks @Troost for reporting.
Module has been updated in the modules directory.
  • Like 1

Share this post


Link to post
Share on other sites

@kongondo

Thanks for your response! You've really helped me out with the string on that line, when my project is finished, I will show it over here!
And I'm glad I found a bug so I could help a bit with this module!

  • Like 3

Share this post


Link to post
Share on other sites

Hi,

New to PW, do anyone use the Blog Module templated as .twig instead of .php?

Share this post


Link to post
Share on other sites

Hi @kongondo, I'm having an issue with Jumplinks and I haven't had any luck on that support forum so I thought I would try here since I think the issue might be related to the blog plugin. Can you check my posts here and let me know if you've experienced this behavior?

https://processwire.com/talk/topic/8697-jumplinks/?do=findComment&comment=192151

Share this post


Link to post
Share on other sites
On 10/17/2019 at 11:56 PM, Ben Sayers said:

Hi @kongondo, I'm having an issue with Jumplinks and I haven't had any luck on that support forum so I thought I would try here since I think the issue might be related to the blog plugin. Can you check my posts here and let me know if you've experienced this behavior?

https://processwire.com/talk/topic/8697-jumplinks/?do=findComment&comment=192151

Hi @Ben Sayers,

Sorry for the late response. I have never used Jumplinks before. I have read the posts you link to but cannot think of any reason why the blog module would be the cause of the issue. In addition, @wbmnfktr seems to have successfully tested blog and Jumplinks, so it must be something else in your install. However, in your post you say:

Quote

removed a bunch of old posts, I wanted to redirect them to the main blog page (domain.com/blog/)

What do you mean by removed? Secondly, what 'blog style' did you use on install?

Share this post


Link to post
Share on other sites
On 10/22/2019 at 2:18 AM, kongondo said:

What do you mean by removed? Secondly, what 'blog style' did you use on install?

No worries, thanks for getting back to me! To remove the posts, I went to the Blog --> Posts tab in PW, checked the boxes for the posts I wanted to remove, then went to Actions -> Delete. I'm using Blog Style 1. I'm able to redirect any page in the website using Jumplinks unless it has "blog/" in it. 

Edited by Ben Sayers
Additional question for kongondo

Share this post


Link to post
Share on other sites
On 10/24/2019 at 3:06 PM, Ben Sayers said:

using Blog Style 1

Please confirm this. According to your post here:

it seems your posts are structured as: (domain.com/blog/some-post/). This would make it a Blog Style 2 and not Blog Style 1 which would be structured as: /domain.com/blog/posts/some-post/

Share this post


Link to post
Share on other sites
On 10/27/2019 at 5:31 AM, kongondo said:

Please confirm this. According to your post... it seems your posts are structured as: (domain.com/blog/some-post/). This would make it a Blog Style 2 and not Blog Style 1 which would be structured as: /domain.com/blog/posts/some-post/

Sorry, my post on the forum should have said domain.com/blog/posts/some-post/ - I am using blog style #1. 

blog-style-1.jpg

Share this post


Link to post
Share on other sites

Hi @kongondo, I'm loving the work you've done with the blog module allready and am using it to set up a multi language blog. I do have a problem with rendering the blog in the secondary language.

The blog categories and tags are not rendered, I assume this is because they aren't translated yet? 

The blog posts themselves don't appear in the secondary language but still output the content from the primary language.

Do you have any idea what i could change to get the blog to work in my secondary language?

 

Dutch version:

image.thumb.png.9f44f871f5a35e9f0bcfe80f3776469d.png

French version:

image.thumb.png.cf4db587b15eac37347e5ba7dcb043f4.png

Share this post


Link to post
Share on other sites
On 12/11/2019 at 7:56 PM, brdje said:

I'm loving the work you've done with the blog module allready

Hi @brdje. First, welcome to the forums! I am glad you are finding the blog module useful.

 

On 12/11/2019 at 7:56 PM, brdje said:

I assume this is because they aren't translated yet? 

You are right. A massive oversight on my part! I will work on this as soon as I get a bit of time, which might not be soon, I am afraid.

 

On 12/11/2019 at 7:56 PM, brdje said:

Do you have any idea what i could change to get the blog to work in my secondary language?

Since posts are just pages, you could just use PW API directly to access each blog field and let PW deal with the fetching of the value in the current language. For instance (rough example):

 

$posts = $pages->find("template=blog-post,limit=20");

$out = "";
foreach($posts as $post) {
    $out .= "<h2>{$post->title}</h2>";
    $out .=  $post->blog_body;
    $thumb = $post->blog_images->first()->width(250);
    $out .= "<img src='{$thumb->url}'>";
    $out .= '<hr>';
}

echo $out;

It's not ideal, but it should get you started, meanwhile.

Share this post


Link to post
Share on other sites

Hello,

I'm using the blog template by @kongondo (thank you!) and I've been going through and creating my website. I've been trying to work this issue out for a day and I haven't gotten far.

I can't figure out how I can sort the months in descending order as these are not pw pages. The years and the posts are shown in descending order, and I want to have the months in descending order too (June, May, April, etc) . How do I do that? I looked at the function for renderarchives and it's unfortunately beyond me at the moment. Thanks for any help on this! 

Regards,

Jonah

Archives

2019

April
    Post #4
    Post #3
    Post #2
    Post #1
May
    Post #4
    Post #3
    Post #2
    Post #1
June
    Post #4
    Post #3
    Post #2
    Post #1

 

Share this post


Link to post
Share on other sites

Have a look here:

 

  • Like 1

Share this post


Link to post
Share on other sites

Hi @montero4,

Welcome to the forums and ProcessWire. This seemed like a nice feature to add so I have gone ahead and added it as an option to getArchives(). I'll release over the weekend.

 

PS: I have moved your thread to the blog support forum.

  • Like 1

Share this post


Link to post
Share on other sites

Update: Blog 2.4.5

Changelog

  1. Added new option (see example use below) to MarkupBlog::getArchives() that allows to specify if archive months should be sorted descending (Dec - Jan). Default is ascending (Jan - Dec), thanks to question by @montero4
  2. Fixed bug in template blog-archives.php that caused illegal offset warnings.
Module has been updated in the modules directory.
 
Example usage of new getArchives() option
 
getArchives() now accepts a third parameter as an $options array. If you want archive months to be sorted and rendered in descending order (December - January), you will need to pass this as an option in the $options array and set the value 'descending' to they key 'archives_month_sort_order'. Since this is the third parameter for the method, you will need to pass options for the first and second parameters as well. If you want the default ascending order of months, you don't have to change anything in your code. Just call getArchives() as usual without any parameters.  Otherwise, read on for descending order of months.
 
<?php
$blog = $modules->get("MarkupBlog");
// options: if we want to sort archive months in descending order
$archiveOptions = array('archives_month_sort_order'=>'descending');
// get archives: order months descending
$archives = $blog->getArchives(0, 1, $archiveOptions);
// if you want to render the archives
$content = $blog->renderArchives($archives);// order months descending

Please test and let me know.

Thanks.

 
 
  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites

Hi  @kongondo ,

it's quite a while I'm planning to use your Blog Module. Now I started my first try, installing version 2.4.5 in PW 3.0.148.
I chose Blog style 3 and installed the demo template files.

When in the Blog dashboard I open the Authors page, I get the Error
"Call to a member function size() on boolean"  in ProcessBlog.module:1686.
Line 1686 is this one:

'<img src ="' . $author->blog_images->first->size(75, 75)->url .'" class="blog_author_image">'  :

What's going wrong?
Thank you
ottogal

 

  • Like 1

Share this post


Link to post
Share on other sites

Hi @ottogal,

Thanks for catching this. I have a feeling there are other similar gotchas! I'll search for and resolve (if need be) these at a later date. For now, please change line #1685 from:

$authorPhoto = !empty($author->blog_images) ?

to:

$authorPhoto = $author->blog_images->count ?

Thanks.

  • Thanks 1

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 MoritzLost
      This module allows you to integrate hCaptcha bot / spam protection into ProcessWire forms. hCaptcha is a great alternative to Google ReCaptcha, especially if you are in the EU and need to comply with privacy regulations.

      The development of this module is sponsored by schwarzdesign.
      The module is built as an Inputfield, allowing you to integrate it into any ProcessWire form you want. It's primarily intended for frontend forms and can be added to Form Builder forms for automatic spam protection. There's a step-by-step guide for adding the hCaptcha widget to Form Builder forms in the README, as well as instructions for API usage.
      Features
      Inputfield that displays an hCaptcha widget in ProcessWire forms. The inputfield verifies the hCaptcha response upon submission, and adds a field error if it is invalid. All hCaptcha configuration options for the widget (theme, display size etc) can be changed through the inputfield configuration, as well as programmatically. hCaptcha script options can be changed through a hook. Error messages can be translated through ProcessWire's site translations. hCaptcha secret keys and site-keys can be set for each individual inputfield or globally in your config.php. Error codes and failures are logged to help you find configuration errors. Please check the README for setup instructions.
      Links
      Github Repository and documentation InputfieldHCaptcha in the module directory (pending approval) Screenshots (configuration)

      Screenshots (hCaptcha widget)

       
       

       
    • By joshua
      This module is (yet another) way for implementing a cookie management solution.
      Of course there are several other possibilities:
      - https://processwire.com/talk/topic/22920-klaro-cookie-consent-manager/
      - https://github.com/webmanufaktur/CookieManagementBanner
      - https://github.com/johannesdachsel/cookiemonster
      - https://www.oiljs.org/
      - ... and so on ...
      In this module you can configure which kind of cookie categories you want to manage:

      You can also enable the support for respecting the Do-Not-Track (DNT) header to don't annoy users, who already decided for all their browsing experience.
      Currently there are four possible cookie groups:
      - Necessary (always enabled)
      - Statistics
      - Marketing
      - External Media
      All groups can be renamed, so feel free to use other cookie group names. I just haven't found a way to implement a "repeater like" field as configurable module field ...
      When you want to load specific scripts ( like Google Analytics, Google Maps, ...) only after the user's content to this specific category of cookies, just use the following script syntax:
      <script type="text/plain" data-type="text/javascript" data-category="statistics" data-src="/path/to/your/statistic/script.js"></script> <script type="text/plain" data-type="text/javascript" data-category="marketing" data-src="/path/to/your/mareketing/script.js"></script> <script type="text/plain" data-type="text/javascript" data-category="external_media" data-src="/path/to/your/external-media/script.js"></script> <script type="text/plain" data-type="text/javascript" data-category="marketing">console.log("Inline scripts are also working!");</script> The type has to be "optin" to get recognized by PrivacyWire, the data-attributes are giving hints, how the script shall be loaded, if the data-category is within the cookie consents of the user. These scripts are loaded asynchronously after the user made the decision.
      If you want to give the users the possibility to change their consent, you can use the following Textformatter:
      [[privacywire-choose-cookies]] It's planned to add also other Textformatters to opt-out of specific cookie groups or delete the whole consent cookie.
      You can also add a custom link to output the banner again with a link / button with following class:
      <a href="#" class="privacywire-show-options">Show Cookie Options</a> <button class="privacywire-show-options">Show Cookie Options</button> This module is still in development, but we already use it on several production websites.
      You find it here: PrivacyWire Git Repo
      Download as .zip
      I would love to hear your feedback 🙂
      CHANGELOG
      0.1.1 Debugging: fixed error during uninstall 0.1.0 Added new detection of async scripts for W3C Validation 0.0.6 CSS-Debugging for hiding unused buttons, added ProCache support for the JavaScript tag 0.0.5 Multi-language support included completely (also in TextFormatter). Added possibility to async load other assets (e.g. <img type="optin" data-category="marketing" data-src="https://via.placeholder.com/300x300">) 0.0.4 Added possibility to add an imprint link to the banner 0.0.3 Multi-language support for module config (still in development) 0.0.2 First release 0.0.1 Early development
    • By bernhard
      --- Please use RockFinder3 ---
    • By MoritzLost
      Cacheable Placeholders
      This module allows you to have pieces of dynamic content inside cached output. This aims to solve the common problem of having a mostly cacheable site, but with pieces of dynamic output here and there.  Consider this simple example, where you want to output a custom greeting to the current user:
      <h1>Good morning, <?= ucfirst($user->name) ?></h1> This snippet means you can't use the template cache (at least for logged-in users), because each user has a different name. Even if 99% of your output is static, you can only cache the pieces that you know won't include this personal greeting. A more common example would be CSRF tokens for HTML forms - those need to be unique by definition, so you can't cache the form wholesale.
      This module solves this problem by introducing cacheable placeholders - small placeholder tokens that get replaced during every request. The replacement is done inside a Page::render hook so it runs during every request, even if the response is served from the template cache. So you can use something like this:
      <h1>Good morning, {{{greeting}}}</h1> Replacement tokens are defined with a callback function that produces the appropriate output and added to the module through a simple hook:
      // site/ready.php wire()->addHookAfter('CachePlaceholders::getTokens', function (HookEvent $e) { $tokens = $e->return; $tokens['greeting'] = [ 'callback' => function (array $tokenData) { return ucfirst(wire('user')->name); } ]; $e->return = $tokens; }); Tokens can also include parameters that are parsed and passed to the callback function. There are more fully annotated examples and step-by-step instructions in the README on Github!
      Features
      A simple and fast token parser that calls the appropriate callback and runs automatically. Tokens may include multiple named or positional parameters, as well as multi-value parameters. A manual mode that allows you to replace tokens in custom pieces of cached content (useful if you're using the $cache API). Some built-in tokens for common use-cases: CSRF-Tokens, replacing values from superglobals and producing random hexadecimal strings. The token format is completely customizable, all delimiters can be changed to avoid collisions with existing tag parsers or template languages. Links
      Github Repository & documentation Module directory (pending approval) If you are interested in learning more, the README is very extensive, with more usage examples, code samples and usage instructions!
    • By Craig
      I've been using Fathom Analytics for a while now and on a growing number of sites, so thought it was about time there was a PW module for it.
      WayFathomAnalytics
      WayFathomAnalytics is a group of modules which will allow you to view your Fathom Analytics dashboard in the PW admin panel and (optionally) automatically add and configure the tracking code on front-end pages.
      Links
      GitHub Readme & documentation Download Zip Modules directory Module settings screenshot What is Fathom Analytics?
      Fathom Analytics is a simple, privacy-focused website analytics tool for bloggers and businesses.

      Stop scrolling through pages of reports and collecting gobs of personal data about your visitors, both of which you probably don't need. Fathom is a simple and private website analytics platform that lets you focus on what's important: your business.
      Privacy focused Fast-loading dashboards, all data is on a single screen Easy to get what you need, no training required Unlimited email reports Private or public dashboard sharing Cookie notices not required (it doesn't use cookies or collect personal data) Displays: top content, top referrers, top goals and more
×
×
  • Create New...