Laravel how to add a part of url to the current url? - php

I see that when I have a url like:
mysite.com/category/1 - without the closing slash
creating a link like:
subcat
will lead to a link like :
mysite.com/category/subcat
thus it goes back to the last slash in the url, but what I need is this:
mysite.com/category/1/subcat
is there a way or function in laravel to append a part of url to the current url?

Maybe the URL helper can help you? I assume you use blade
subcat
https://laravel.com/docs/5.6/helpers#method-url

Related

How can I keep anchor alive in pagination links?

Here is my code in the controller:
$unique_products = unique_products::orderBy('id', 'DESC')->paginate(10);
And here is my code in the view:
{{$unique_products->render()}}
And here is my current URL:
http://www.example.com/products#anchor
My problem is, when I click on other pages (which are in pagination box), the anchor is deleted from the URL. It will be something like this:
http://www.example.com/products?page=1
Anyway, how can I keep the anchor exist? I want this:
http://www.example.com/products?page=1#anchor
How can I do that?
First of all you need to display your links like shown in the official docs because when you want to navigate through pages your unique_products has access to the fragment method which can retrieve fragments from the url which are actually Hashtags (#) and then append them to every page change url:
{{ $unique_products->fragment('foo')->links() }}

Base_url() issue with the anchor tag in CodeIgniter

I am new to CodeIgniter and having trouble with link formation. In my page, I have a link to another page set to:
<li>Feed Page</li>
Here the feed is one of my controllers, but the link is showing as:
http://localhost/BusinessPad/localhost/BusinessPad/feed,
which doesn't actually exist. I can't understand how this happened; I have made sure: $config['index_page'] = ''; and I added an .htaccess file. If I leave $config['base_url']='', the base URL is still not working for me.
To deal with anchor tag, You can have like this
Feeds
You shall put the base_url inside your anchor tag and then your controller name.
Then you will get the url like localhost/BusinessPad/feed which you expect.
Note : Make sure you have loaded the url helper by $this->load->helper('url'); or loaded in autoload itself
Feed Page
if this not works use this
Feed Page
Explain :
<?php echo base_url();?>//URL
BusinessPad//Controller
feed//Function
in 1. this will give your site URL. http://localhost/BusinessPad/localhost/. if you host this to live server it will come with tour domain name.
then in 2 it will call your controller which Contains your functions.
Note: if you juct call your controller it will call automatically public function index() if you create.
then in 3 it will redirect to your function which you exactly need.

URL base changing after using any controller with parameters

i'm having an problem with the URL of Codeigniter.
When i use one controller with parameter, example: localhost/ci/products/news (where localhost/ci is the url base), after i click in any element <a />, example: <a href="home"/> Codeigniter redirects for localhost/ci/products/home and no for localhost/ci/home.
Anyone know why this happens?
You must use a base_url for links. Right now your anchor has a relative path in the href="home", you should have full path in your links, when u use mod_rewrite for nice urls.
like
Home

PHP Keeping URL parameters when clicking a hyperlink to add GET variable

I'm trying to figure out how to have a hyperlink that will add a new/additional GET variable to the URL, but will not remove any existing GET variables or anchor tags. So, if my URL is any of the following:
http://example.com/index.html?color=blue
http://example.com/index.html?color=blue&type=shirt
http://example.com/index.html?color=blue#reviews
...and I click the link, such as:
Large
... the URL should be updated to:
http://example.com/index.html?color=blue&size=large
http://example.com/index.html?color=blue&type=shirt&size=large
http://example.com/index.html?color=blue&size=large#reviews
Right now, if I make a link as above, it will remove all existing GET variables and anchor tags from the existing URL.
What's the fix?
You can do something like:
Large
See QUERY_STRING.
much like Samsquanch's answer but try replacing SERVER with GET
Large

URL with trailing slashes leads to different pages - MVC CI

I have a routed like the following in my Code Igniter route file.
$route['profile'] = "profile";
The class profile contains the following
$this->load->view('pages/profile.php');
Now I have a link on my profile.php page which looks like the following
<a href = 'logout'>Logout</a>
Now consider a user using it. If he visits the following url
localhost/project/profile
Then now the link on the profile.php page would lead to the following
localhost/project/logout
But if the user uses this url
localhost/project/profile/
That is if there is a trailing slash then the link on the page would lead to
localhost/project/profile/logout
And now my question is what should I do to lead the link in both the cases to
localhost/project/logout
Hope I am clear. Please help me out
I think that you're searching for this, load the url helper on your controller with this code line
$this->load->helper('url');
On your view whenever you want to echo URL's use this code
//this will echo something like this http://(yourdomain).index.php/logout
<a href = '<?=site_url("logout")?>'>Logout</a>
If you want let's say, an url to another controller you'll use something like this
//this will echo something like this http://(yourdomain).index.php/(anothercontroller)/logout
<a href = '<?=site_url("anothercontroller/logout")?>'>Logout</a>
More information about the url helper from codeigniter can be found here:
http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html

Categories