I'm developping a TYPO3 extension (TYPO3 6.2) and I'm trying to create a link with parameters.
My working link is like this:
........./?param1=val1¶m2=val2
Now I'm trying to make this url more friendly and want to show it as:
........./val1/val2
but when I access this url, I have a TYPO3 error saying:
Reason: Segment "val1" was not a keyword for a postVarSet as expected on page with id=MYID.
The url is created with FLUID:
<f:link.page pageUid="MYID" additionalParams="{tagid: '{var.id}'}">More</f:link.page>
Thanks for your help!
It's not about Fluid, but missing RealURL config, there are two good articles written by Dmitry Dulepov - RealURL author:
http://www.dmitry-dulepov.com/2008/05/realurl-made-easy-part-1.html
http://www.dmitry-dulepov.com/2008/06/realurl-made-easy-part-2.html
Related
I have a website with TYPO3 v10 and tx_news. I like to know if it is possible to filter categories with arguments in URL something like:
www.mywebsite.com/index.php?id=9&tx_news_pi1%5Bnews%5D=350&tx_news_pi1%5Bcontroller%5D=News&tx_news_pi1%5Baction%5D=list&categories=12
In this example the link will lead to a page where all news items belong to category id=12.
Thanks for any hints.
Yes this is possible by adding the parameter in a form that its handed over to the plugins extbase controller. For tx_news the parameter you ask for looks like:
&tx_news_pi1[overwriteDemand][categories]=12
You can even make the parameters shorter and more readable by using RouteEhancers in your site: https://docs.typo3.org/p/georgringer/news/8.5/en-us/AdministratorManual/BestPractice/Routing/Index.html
In the past we organized pages inside the page-tree by putting them into pages like "meta" or "submenu". These pages had the option "exclude from speaking url" so their name was not rendered to the url.
Is there any option to do this in TYPO3 9.5 to ignore pages from generating the "slug"?
as example:
WRONG: https: //www.somedomain.tld/metamenu/terms-and-conditions/
RIGHT: https: //www.somedomain. tld/terms-and-conditions/
How to "ignore" the page "metamenu" for automatic-generating the slug?
Best regards
Johannes
It is mandatory for a page to have set a slug and every menulevel will generate another url part. It is not possible to exclude a page - think about how to access this page via url
Here Mathias Schreiber tells a bit about this feature: Feature Demo - Speaking URLs Part 1
The TYPO3 extension "masi" provides this feature, including an upgrade wizard that migrates the realurl tx_realurl_exclude settings.
Have you tried using a Folder instead of a "Page"?
page/page/page
somedomain.tld/metamenu/terms-and-conditions/
page/folder/page
somedomain.tld/terms-and-conditions/
You can leave the parent-page as it is and edit your child-pages. There you can delete parts of the urls in the slug-field.
There's a feature in RealURL for TYPO3 8.7 "Exclude from speaking URL". If set 'domain.com/page-one/' loads 'page-one' and 'domain.com/subpage-of-page-one/' loads 'subpage-of-page-one' with no need of 'page-one' in the URL.
The very same thing can be achieved in TYPO3 9.5 manually editing slugs but you can't set the parent page to be excluded from the URL automatically.
It's a missing feature.
I had the same Problem. Sadly there is no "good" solution as far as i know. But there is a little trick. You can fix this in the database. I deleted all my "slug"-entries in in the database for my pages. Then i wrote in all pages wich should not show in the url in slug "/". This does sadly not work in TYPO3, because the BE allows just one "/" and the second "/" will be changed to "/1". But in the Database you can do it. After you edited the slug for your page metamenu and other to "/", you can go into the upgrade-wizard in the installtools, reset the "generate slugs" task and run this task again. This is sadly the only solution i came up with.
I use TYPO3 8.7 and NEWS extension 6.3 and shariff-sharing.
When i share a news record on Facebook the publication goes well, but when i tried to go back to news record i get 404 error. I think the problem is a query parameter called attach to outbound links by Facebook and appearing in the news record URL. Something like http://example.com/newstitle/?fbclid=IwAR2QIndkh'. What i must do to correct this?
Any help would be appreciated.
As #Wolffc already noted, you need to add the parameter to TYPO3's cHash excluded parameters.
If you use realurl, you also need to tell realurl about it. The current master contains a change for that https://github.com/dmitryd/typo3-realurl/commit/2f1dfced4a2f64656f4091ab79ab307ff6daa469 - that makes realurl reconfigure TYPO3 to include the parameter.
Until it gets released, I suggested a common configuration that I use my realurl configuration (let realurl use the TYPO3 conf) here:
https://github.com/dmitryd/typo3-realurl/pull/650
You need ro add fbclid to the chash ignored parameters in the install tool
I am using TYPO3 9.5 and I created a root page with several subpages.
Before I created a site configuration the subpages were available as
/index.php?id=19
after the site configuration the url has changed to
/events
which is absolutely fine but my subpage cannot be found anymore. I get an 404 Error.
The subpage is still available under the old url but the new one doesn't work.
What can I do to fix this?
after changing the slug(path/path segment) for a page you need to update the slugs for all subpages manually.
The slug is generated automatically when the page is created. Probably your slugs were generated wrong before you build your site configuration.
Try to autogenerate all the slugs with the adapted wizard. You must do it by hand for each page as there is no wizard for page subtrees (yet). you might do the multi-edit in the list module for the slug field.
I have similar issue and no clue how to solve. See TYPO3 9.5 URL Routing with URL Segment is not working
Manual slug override, saving, chache clearance etc. does not help.
Are you using as well Apache? Maybe the issue is related to the webserver.
I am using real-url (1.11.2) , typo3 4.6. I got a problem in FE URL.
i got URL like
http://{domain-name}/page1/page2/
http://{domain-name}/page1/page2/page3/
URL should be
http://{domain-name}/page1
http://{domain-name}/page1
How to achieve this.
Also i lost my CSS and JS reference.
You have to set your config.baseURL, like:
config.baseURL = http://www.example.com/
(In your root template of the website)