Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialTalha Khalid
10,262 PointsHello All. I am getting the "The function "baseUrl" does not exist in "main.twig" at line 29" message.
Hello All, I am getting a "The function "baseUrl" does not exist in "main.twig" at line 29". parserExtension has been enabled. Any ideas on what is wrong? The code below is where I am getting the message
<a href= "{{ baseUrl() }}" class="selected">About</a> <a href= "{{ siteUrl('/contact') }}">Contact</a>
4 Answers
Talha Khalid
10,262 PointsHey Ted Sumner. I figured out what the issue was. Had to change out a few things in my index.php file. Thanks
Ted Sumner
Courses Plus Student 17,967 PointsEdited to answer and marked as best to indicate issue resolved.
Talha Khalid
10,262 PointsTake a look at the code:
$view->parerExtensions = array( new \Slim\Views\TwigExtension(),
should be spelled as parserExtenstions not parerExtensions
Patrick Koch
40,496 PointsHi Talha Khalid,
I have the same error how do you fixed it? I think, its cause I working on my local server, but dont know how to fix it.
greetings Patrick
Talha Khalid
10,262 PointsHey Patrick, could you post the code that you are running from the index.php file? My issue was that I had my commands out of order and thats why it couldn't recognize the baseUrl (or any of the other) functions. Try comparing it to the index.php file in the course notes and see if you can find the difference there.
Patrick Koch
40,496 Pointsso my index.php file:
<?php
require 'vendor/autoload.php';
date_default_timezone_set("Europe/London");
//$log = new Logger('name');
//$log->pushHandler(new StreamHandler('app.txt', Logger::WARNING));
//$log->addWarning('Foo');
$app = new \Slim\Slim( array(
'view' => new \Slim\Views\Twig()
));
$view = $app->view();
$view->parserOptions = array(
'debug' => true
);
$view->parerExtensions = array(
new \Slim\Views\TwigExtension(),
);
$app->get('/', function() use($app){
$app->render('about.twig');
})->name('home');
$app->get('/contact', function() use($app){
$app->render('contact.twig');
})->name('contact');
$app->run();
?>
Thanks for checking it
greetings Patrick
Hasnain Ashfaq
Courses Plus Student 3,929 Points$view->parserExtensions = array( new \Slim\Views\TwigExtension(), );
As Talha told, its "parser" not parer. That was the issue.
Ted Sumner
Courses Plus Student 17,967 PointsTed Sumner
Courses Plus Student 17,967 PointsWe need either the code pasted here or a snapshot by using the camera icon on the upper right of Workspaces.