I havenβt received an answer, probably because there arenβt any at the moment.
To show, how this should work, I show you my Kirby 2 solution:
Preparation
Install a fresh Kirby Langkit, version 2.5.12.
Then follow HowTo: Working with contextual links to the panel with the following code in step 1:
<?php
/* Kirby 2.x snippet: pagetitle.php
* last update 23.04.2019 by HeinerEF (using the hints from @texnixe at https://forum.getkirby.com/t/howto-working-with-contextual-links-to-the-panel/1566/9)
* last update 28.04.2019 by HeinerEF (adding multilingual: now it is single or multilingual)
*/
$theTag = $theTag ?? 'h1'; // the tag for the page title via the snippet variable "theTag" assigned
// $theTagAddon // the e.g. "class-text" in the pagetitle tag via the snippet variable "theTagAddon" assigned
$thePage = $thePage ?? $page; // the "$page" via the snippet variable "thePage" assigned
$thePageTitle = $thePageTitle ?? $thePage->title(); // the "$page->title()" via the snippet variable "thePageTitle" assigned
$thePageTitle = str_replace('</<wbr>', '</', str_replace('/', '/<wbr>', $thePageTitle)); // add '<wbr>' after each '/' in the visible text
// $thePageTitleAddon // the "Addon text" after the page title via the snippet variable "thePageTitleAddon" assigned
// $thePageLink // the url of the link in the title is in "thePageLink" or the variable "thePageLink" is empty for no link
?>
<<?php echo $theTag; ?><?php if (isset($theTagAddon)) echo ' ' .$theTagAddon; ?>><?php if (isset($thePageLink)) echo '<a href="' . $thePageLink . '">'; ?><?php echo html($thePageTitle); ?><?php if (isset($thePageLink)) echo '</a>'; ?><?php if (isset($thePageTitleAddon)) echo $thePageTitleAddon; ?><?php if($user = $site->user() and $user->hasPanelAccess()): // user is logged in and has panel access ?><a href="<?php echo $site->url() ?>/panel/pages/<?php echo $thePage->uri( r($site->multilang(), $site->languages()->first()) ) ?>/edit<?php ecco ($site->multilang(),'?_language=' . $site->language()->code()); ?>" target="<?php echo c::get('HeinerEF.EditTarget', '_blank'); ?>" title="Edit page data (in new window / tab)" class="admineditlink"><sup class="fa fa-cog admincolor"></sup></a><?php endif; ?></<?php echo $theTag; ?>>
Do the rest of that HowTo like I wroted some time ago. Note that in step 2 the search text has changed to β<h1><?= $page->title()->html() ?></h1>
β. You can omit step 3 if you want.
Add target
Within your config file βsite\config\config.php
β add this line at the end of the file:
c::set('HeinerEF.EditTarget', 'langkit_2.5.12_pagetitle_panel');
This shows the (with the cogwheel) linked panel pages always in the same tab of the browser.
Result
If you are logged in, the frontend pages of the Kirby 2 Langkit show a cogwheel after each page title.
If you click at such a cogwheel, the corresponding panel page is shown in the language of the frontend page.
If you change the language in the frontend, the link to the panel page shows the same new language.
My goal
I want to do the same with Kirby 3.
@bastianallgeier:
For me this is a regression. What do you think?
Please add such a possibility in Kirby 3. Thank you and your team.