It looks like you're new here. If you want to get involved, click one of these buttons!
Hi,
I'm trying to understand the "Generated Post Pages" in Simple Modules and I went through all docs that deal with that topic, but I get stuck in this error:
The uri I call is something like this:
https://domain.com/en/service/news/slug-headline
/en => forced language string
/service/news => Opt-in Controller => (/views/service/news.php)
/slug-headline => news.slug DB entry
10 1.1349 14197184 include( '...fuel\application\views\service\news.php' ) ..\Loader.php:396
11 1.1851 14319192 Base_post_item_model->get_categories_linked( ???, ??? ) ..\news.php:30
12 1.2001 14342000 Fuel_posts->url( 'category/my-category' ) ..\Base_posts_model.php:301
13 39.0921 14357600 Fuel_posts->base_uri( ) ..\Fuel_posts.php:111
14 112.5062 14379568 Fuel_posts->module_config( 'base_uri', ??? ) ..\Fuel_posts.php:96
Dump $_REQUEST
$_REQUEST['/en/service/news/slug-headline'] =
string '' (length=0)
A PHP Error was encountered
Severity: Error
Message: Call to a member function info() on null
Filename: libraries/Fuel_posts.php
Line Number: 138
Backtrace:
MY_fuel_models.php
$config['modules']['news'] = array(
'module_uri' => 'news',
'model_name' => 'News_model',
// ...
// frontend pages
// @link http://docs.getfuelcms.com/modules/simple => Generate Post Pages
'pages' => array(
'base_uri' => 'service/news',
'per_page' => 10,
'view' => 'service/news',
'list' => 'service/news',
'post' => 'service/news',
'tag' => array(
'route' => 'service/news/tag/:any',
'view' => 'service/news',
'empty_data_show_404' => TRUE,
'per_page' => 5
),
'category' => array(
'route' => 'service/news/category/:any',
'view' => 'service/news',
'empty_data_show_404' => TRUE,
'per_page' => 5
)
)
);
/views/service/news.php is like the example, but uses get_categories_linked()
<?php
$slug = uri_segment(3);
if (!empty($slug))
{
$news_item = fuel_model('news', array('find' => 'one', 'where' => array('slug' => $slug)));
if (empty($news_item)) show_404();
}
else
{
$news = fuel_model('news');
}
?>
<?php if (!empty($news_item)) : ?>
<div class="news_item">
<?php $news_item->get_categories_linked() ?>
<?php foreach($news_item->tags as $tag): ?>
<?php echo $tag->name; ?>
<?php endforeach; ?>
</div>
<?php else: ?>
<?php foreach($news as $item) : ?>
<?php endforeach; ?>
<?php endif; ?>
What I can't figure out is the 'pages' part in My_fuel_modules.php and the effect on /views/_post/*.php files because the script crashes in loading the category model or something
Here is the part where the script crashes:
/**
* Returns the all the segments as a string without the base_uri() value.
*
* @access public
* @param string The key value in the $config['posts']['my_module'][$key] (optional)
* @param string The module's name to grab the config information from (optional)
* @return mixed
*/
public function module_config($key = NULL, $module = NULL)
{
if (!isset($module))
{
$module = $this->get_module();
}
elseif(is_string($module))
{
$module = $this->fuel->modules->get($module, FALSE);
}
//$this->get_module(); returns null so null->info('pages') breaks it.
$config = $module->info('pages');
Thanks in advance.
Comments
The error in the Fuel_posts.php file on line 138 means it's not finding a $module. What's the name of the module before that error do you know (is it "category" or "news" or something else?). Does the page load without the get_categories_linked() method call?
The page loads fine without
get_categories_linked()
- I think it tries to gather info() about the category module, but can't access it. It's hard to tell.Does your new table have a foreign key relationships of "category_id" set?
It's all there, yes.
After more experimentation (and figuring out generated post pages) I suspect the **get_categories_linked() **problem has to do with me extending
Fuel_categories_model
class.Here is what I did:
in MY_fuel_models.php add
And then create
application/models/My_fuel_categories_model.php
with the following content (I added some more fields)After I added
class My_fuel_category_model extends Fuel_category_model {}
some things started to work as expected and get_categories_linked() didn't threw an error anymore - but it just returned nullSo my question is, when I extend the original Fuel_category_model what else do I have to look for?
Thanks.
You may try adding the following property to your model to see if that fixes the issue: