How to make author name hyperlinked to its profile in node template
Clash Royale CLAN TAG#URR8PPP
There is a variable author_name
in node.html.twig, it will print something like below:
<span>Your author name</span>
But I would like to print something like that:
<a href='/user/10'>Your author name</a>
How can I get this done in node.html.twig?
8 theming
add a comment |
There is a variable author_name
in node.html.twig, it will print something like below:
<span>Your author name</span>
But I would like to print something like that:
<a href='/user/10'>Your author name</a>
How can I get this done in node.html.twig?
8 theming
add a comment |
There is a variable author_name
in node.html.twig, it will print something like below:
<span>Your author name</span>
But I would like to print something like that:
<a href='/user/10'>Your author name</a>
How can I get this done in node.html.twig?
8 theming
There is a variable author_name
in node.html.twig, it will print something like below:
<span>Your author name</span>
But I would like to print something like that:
<a href='/user/10'>Your author name</a>
How can I get this done in node.html.twig?
8 theming
8 theming
edited Dec 29 '18 at 7:26
leymannx
6,92952659
6,92952659
asked Dec 29 '18 at 5:48
BasicBasic
605
605
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Normally author_name
already comes as renderable markup containing the linked author name. But there's also node.getOwnerId
(the author's user ID) and node.getOwner.label
(the author's user name) you could simply use to build the link yourself.
<div class="foobar">
<a href="/user/ node.getOwnerId ">
<span> node.getOwner.label </span>
</a>
</div>
Note you can easily inspect what variables are available for a template by installing the Devel sub-module Kint and then in your template print kint()
, flush cache and reload. You now will get all available variables pretty-printed to easily find out which ones you could use to solve your problem.
To make that snippet a little bit more sustainable use the path()
function to build the link target. By that also path aliases (built with Pathauto for example) will be taken into account.
<div class="foobar">
<a href=" path('entity.user.canonical', 'user': node.getOwnerId) ">
<span> node.getOwner.label </span>
</a>
</div>
2
Thank you! node.getOwnerId and node.getOwner.label work well! By the way, node.getOwner.label == node.getOwner.getDisplayName
– Basic
Dec 29 '18 at 8:30
3
@Basic,getDisplayName
is not identical, it is a processed version of the name/label, see User::getDisplayName
– 4k4
Dec 29 '18 at 9:26
add a comment |
Use node.getOwnerId()
.
<a href='/user/ node.getOwnerId() '>Your author name</a>
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "220"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdrupal.stackexchange.com%2fquestions%2f274446%2fhow-to-make-author-name-hyperlinked-to-its-profile-in-node-template%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Normally author_name
already comes as renderable markup containing the linked author name. But there's also node.getOwnerId
(the author's user ID) and node.getOwner.label
(the author's user name) you could simply use to build the link yourself.
<div class="foobar">
<a href="/user/ node.getOwnerId ">
<span> node.getOwner.label </span>
</a>
</div>
Note you can easily inspect what variables are available for a template by installing the Devel sub-module Kint and then in your template print kint()
, flush cache and reload. You now will get all available variables pretty-printed to easily find out which ones you could use to solve your problem.
To make that snippet a little bit more sustainable use the path()
function to build the link target. By that also path aliases (built with Pathauto for example) will be taken into account.
<div class="foobar">
<a href=" path('entity.user.canonical', 'user': node.getOwnerId) ">
<span> node.getOwner.label </span>
</a>
</div>
2
Thank you! node.getOwnerId and node.getOwner.label work well! By the way, node.getOwner.label == node.getOwner.getDisplayName
– Basic
Dec 29 '18 at 8:30
3
@Basic,getDisplayName
is not identical, it is a processed version of the name/label, see User::getDisplayName
– 4k4
Dec 29 '18 at 9:26
add a comment |
Normally author_name
already comes as renderable markup containing the linked author name. But there's also node.getOwnerId
(the author's user ID) and node.getOwner.label
(the author's user name) you could simply use to build the link yourself.
<div class="foobar">
<a href="/user/ node.getOwnerId ">
<span> node.getOwner.label </span>
</a>
</div>
Note you can easily inspect what variables are available for a template by installing the Devel sub-module Kint and then in your template print kint()
, flush cache and reload. You now will get all available variables pretty-printed to easily find out which ones you could use to solve your problem.
To make that snippet a little bit more sustainable use the path()
function to build the link target. By that also path aliases (built with Pathauto for example) will be taken into account.
<div class="foobar">
<a href=" path('entity.user.canonical', 'user': node.getOwnerId) ">
<span> node.getOwner.label </span>
</a>
</div>
2
Thank you! node.getOwnerId and node.getOwner.label work well! By the way, node.getOwner.label == node.getOwner.getDisplayName
– Basic
Dec 29 '18 at 8:30
3
@Basic,getDisplayName
is not identical, it is a processed version of the name/label, see User::getDisplayName
– 4k4
Dec 29 '18 at 9:26
add a comment |
Normally author_name
already comes as renderable markup containing the linked author name. But there's also node.getOwnerId
(the author's user ID) and node.getOwner.label
(the author's user name) you could simply use to build the link yourself.
<div class="foobar">
<a href="/user/ node.getOwnerId ">
<span> node.getOwner.label </span>
</a>
</div>
Note you can easily inspect what variables are available for a template by installing the Devel sub-module Kint and then in your template print kint()
, flush cache and reload. You now will get all available variables pretty-printed to easily find out which ones you could use to solve your problem.
To make that snippet a little bit more sustainable use the path()
function to build the link target. By that also path aliases (built with Pathauto for example) will be taken into account.
<div class="foobar">
<a href=" path('entity.user.canonical', 'user': node.getOwnerId) ">
<span> node.getOwner.label </span>
</a>
</div>
Normally author_name
already comes as renderable markup containing the linked author name. But there's also node.getOwnerId
(the author's user ID) and node.getOwner.label
(the author's user name) you could simply use to build the link yourself.
<div class="foobar">
<a href="/user/ node.getOwnerId ">
<span> node.getOwner.label </span>
</a>
</div>
Note you can easily inspect what variables are available for a template by installing the Devel sub-module Kint and then in your template print kint()
, flush cache and reload. You now will get all available variables pretty-printed to easily find out which ones you could use to solve your problem.
To make that snippet a little bit more sustainable use the path()
function to build the link target. By that also path aliases (built with Pathauto for example) will be taken into account.
<div class="foobar">
<a href=" path('entity.user.canonical', 'user': node.getOwnerId) ">
<span> node.getOwner.label </span>
</a>
</div>
edited Dec 30 '18 at 7:47
answered Dec 29 '18 at 7:25
leymannxleymannx
6,92952659
6,92952659
2
Thank you! node.getOwnerId and node.getOwner.label work well! By the way, node.getOwner.label == node.getOwner.getDisplayName
– Basic
Dec 29 '18 at 8:30
3
@Basic,getDisplayName
is not identical, it is a processed version of the name/label, see User::getDisplayName
– 4k4
Dec 29 '18 at 9:26
add a comment |
2
Thank you! node.getOwnerId and node.getOwner.label work well! By the way, node.getOwner.label == node.getOwner.getDisplayName
– Basic
Dec 29 '18 at 8:30
3
@Basic,getDisplayName
is not identical, it is a processed version of the name/label, see User::getDisplayName
– 4k4
Dec 29 '18 at 9:26
2
2
Thank you! node.getOwnerId and node.getOwner.label work well! By the way, node.getOwner.label == node.getOwner.getDisplayName
– Basic
Dec 29 '18 at 8:30
Thank you! node.getOwnerId and node.getOwner.label work well! By the way, node.getOwner.label == node.getOwner.getDisplayName
– Basic
Dec 29 '18 at 8:30
3
3
@Basic,
getDisplayName
is not identical, it is a processed version of the name/label, see User::getDisplayName– 4k4
Dec 29 '18 at 9:26
@Basic,
getDisplayName
is not identical, it is a processed version of the name/label, see User::getDisplayName– 4k4
Dec 29 '18 at 9:26
add a comment |
Use node.getOwnerId()
.
<a href='/user/ node.getOwnerId() '>Your author name</a>
add a comment |
Use node.getOwnerId()
.
<a href='/user/ node.getOwnerId() '>Your author name</a>
add a comment |
Use node.getOwnerId()
.
<a href='/user/ node.getOwnerId() '>Your author name</a>
Use node.getOwnerId()
.
<a href='/user/ node.getOwnerId() '>Your author name</a>
edited Dec 31 '18 at 12:30
kiamlaluno♦
79.6k9130248
79.6k9130248
answered Dec 29 '18 at 7:29
Raj GhaiRaj Ghai
30013
30013
add a comment |
add a comment |
Thanks for contributing an answer to Drupal Answers!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdrupal.stackexchange.com%2fquestions%2f274446%2fhow-to-make-author-name-hyperlinked-to-its-profile-in-node-template%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown