# (Заменено) Ссылка на внешний сайт с основного логотипа Discourse

**URL:** https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347
**Category:** Development
**Tags:** how-to
**Created:** [07.Июнь.2022 21:43:02 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347 "2022-06-07T21:43:02Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Discourse](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/discourse/32/148734_2.png) [@Discourse](https://meta.discourse.org/u/Discourse)
#### Post date: [07.Июнь.2022 21:43:03 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/1 "2022-06-07T21:43:03Z")

</div>

ℹ Discourse теперь предлагает официальный компонент темы для поддержки этого случая использования:

> [@Custom Logo Link](https://meta.discourse.org/t/discourse-custom-logo-link/316531):
>
> discourse2Summary Custom Logo Link allows admins to set the link of the logo for desktop/mobile and anonymous/logged in users.eyeglassesPreview [Preview on Discourse Theme Creator](https://discourse.theme-creator.io/theme/Discourse/custom-logo-link)hammer_and_wrenchRepository Link [https://github.com/discourse/discourse-custom-logo-link](https://github.com/discourse/discourse-custom-logo-link)open_bookNew to Discourse Themes? [Beginner’s guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966) Install this theme component Features This component allows to override the link of the logo. Settings Name De…

> **Оригинальный контент**
>
> * * *
> 
> Я не уверен, что для большинства сайтов хорошая идея — сделать так, чтобы основной логотип Discourse вел на внешний сайт, но есть исключения, когда имеет смысл перенаправлять пользователей на внешний веб-сайт при клике на основной логотип Discourse. Если вы хотите это сделать, вот как.
> 
> ### Создайте новый компонент темы
> 
> ⚠ Обратите внимание: этот раздел руководства вскоре будет выделен в отдельную тему.
> 
> На странице «Администрирование / Настройка / Темы» в боковой панели нажмите ссылку «Компоненты». Затем в нижней части боковой панели нажмите кнопку «Установить»:
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/3/5/1/351489ed40c9f88bd27ecc3b76584e17450f8cae.png)
> 
> В открывшемся модальном окне нажмите ссылку «Создать новый»:
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/5/5/b/55bb24cbbabde86cfed14f871d4253e8c101d670.png)
> 
> Задайте имя для компонента темы и убедитесь, что выбран тип «Компонент». Затем нажмите кнопку «Создать»:
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/5/c/c/5cc54c81c03f3f0c22ea1ed5f279cd71c7378ad1.png)
> 
> После этого вы попадете на главную страницу компонента темы.
> 
> ### Добавьте код в компонент темы
> 
> Код для переопределения URL-адреса по умолчанию основного логотипа необходимо добавить в секцию HEAD вашего компонента темы. Чтобы открыть редактор компонента, нажмите кнопку «Изменить CSS/HTML»:
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/e/8/f/e8fed357e6bad91cdda5bd8b8cfe6896903d50a5.png)
> 
> В открывшемся редакторе нажмите ссылку «HEAD»:
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/3/c/4/3c4ca4173a8edb580f407867aaf1ac7df5041760.png)
> 
> В зависимости от различных условий добавьте следующие фрагменты кода в секцию HEAD редактора, чтобы изменить URL-адрес, на который указывает логотип главной страницы. Обратите внимание: вам нужно заменить `https://example.com` в коде на полный URL-адрес домашней страницы вашего внешнего сайта:
> 
> - для изменения ссылки на статический URL-адрес:
> 
> ```plaintext
> <script type="text/discourse-plugin" version="1.3.0">
> api.registerValueTransformer("home-logo-href", () => "https://example.com")
> </script>
> 
> ```
> 
> - для возврата динамического URL-адреса на основе текущего пользователя:
> 
> ```plaintext
> <script type="text/discourse-plugin" version="1.3.0">
> api.registerValueTransformer("home-logo-href", () => {
> const currentUser = api.getCurrentUser();
> return `https://example.com/${currentUser.username}`;
> })
> </script>
> 
> ```
> 
> - для возврата URL-адреса на основе настройки компонента темы:
> 
> ```plaintext
> <script type="text/discourse-plugin" version="1.3.0">
> api.registerValueTransformer("home-logo-href", () => {
> return settings.example_logo_url_setting;
> })
> </script>
> 
> ```
> 
> Нажмите кнопку «Сохранить», чтобы сохранить изменения. После этого вернитесь на главную страницу компонента темы и нажмите ссылку «Добавить во все темы», чтобы добавить новый компонент ко всем темам вашего сайта:
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/e/4/f/e4f34d1bb0be5bfc4416ba18c2a3f1afdf0bbd7c.png)

---

<div class="post-metadata">

### Author: ![sea\_i](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sea_i/32/263264_2.png) [@sea\_i](https://meta.discourse.org/u/sea_i)
#### Post date: [09.Июнь.2022 08:04:47 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/3 "2022-06-09T08:04:47Z")

</div>

👍 Большое спасибо за то, что поделились!

---

<div class="post-metadata">

### Author: ![sea\_i](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sea_i/32/263264_2.png) [@sea\_i](https://meta.discourse.org/u/sea_i)
#### Post date: [09.Июнь.2022 08:30:55 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/5 "2022-06-09T08:30:55Z")

</div>

![image](https://global.discourse-cdn.com/meta/original/4X/b/8/3/b83874e3bb8f1128023841cc194d221d7d39c367.png)  
Я добавил это в тег заголовка, но это не сработало

---

<div class="post-metadata">

### Author: ![daemon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/daemon/32/256632_2.png) [@daemon](https://meta.discourse.org/u/daemon)
#### Post date: [09.Июнь.2022 09:01:03 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/6 "2022-06-09T09:01:03Z")

</div>

Для меня всё работает идеально.  
Вы сделали «жёсткую перезагрузку» вашего сайта с помощью `Ctrl + F5`?

---

<div class="post-metadata">

### Author: ![sea\_i](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sea_i/32/263264_2.png) [@sea\_i](https://meta.discourse.org/u/sea_i)
#### Post date: [09.Июнь.2022 10:11:38 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/7 "2022-06-09T10:11:38Z")

</div>

![image](https://global.discourse-cdn.com/meta/original/4X/c/0/d/c0d7afc21cc74256235b1cb44f247db1fe85c37c.png)  
Я нажал Command+R и даже включил режим инкогнито, но это всё равно не сработало.

---

<div class="post-metadata">

### Author: ![manuel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manuel/32/468169_2.png) [@manuel](https://meta.discourse.org/u/manuel)
#### Post date: [03.Январь.2023 16:09:54 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/8 "2023-01-03T16:09:54Z")

</div>

Спасибо за эту инструкцию! Мне нужно изменить логотип основного заголовка для сообщества, и код из фрагмента работает идеально.

Однако я заметил, что при этом меняется и ссылка на маленький логотип, который заменяет полный логотип, когда в заголовке отображается название темы. Например, только иконка здесь, на Meta:

![image](https://global.discourse-cdn.com/meta/original/4X/6/9/5/6954749df61ccc378b700c128b201aa5b6ff62c4.png)

Это кажется не совсем интуитивным. Можно ли добавить ещё один аргумент в функцию, чтобы она не влияла на маленький логотип?

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [15.Июль.2024 01:59:41 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/9 "2024-07-15T01:59:41Z")

</div>

> [@Discourse](#):
>
> Добавьте следующий код в секцию HEAD редактора. Обратите внимание, что в коде нужно заменить `https://полный_адрес_вашей_главной_страницы` на полный URL главной страницы вашего внешнего сайта:
> 
> ```plaintext
> <script type="text/discourse-plugin" version="1.3.0">
> api.changeWidgetSetting('home-logo', 'href', 'https://полный_адрес_вашей_главной_страницы')
> </script>
> 
> ```
> 
> ![image](https://global.discourse-cdn.com/meta/original/4X/5/e/c/5ec70c6af65eb4d4cb3a1020110e8d6133373ece.png)

Из-за [Upcoming Header Changes - Preparing Themes and Plugins](https://meta.discourse.org/t/upcoming-header-changes-preparing-themes-and-plugins/296544#altering-the-home-logo-anchor-url-11), я думаю, что это нужно изменить на:

```plaintext
<script type="text/discourse-plugin" version="1.34.0">
    api.registerValueTransformer("home-logo-href", () => "https://полный_адрес_вашей_главной_страницы");
</script>

```

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [16.Июль.2024 12:10:07 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/10 "2024-07-16T12:10:07Z")

</div>



---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [16.Июль.2024 12:32:50 UTC](https://meta.discourse.org/t/superseded-link-to-external-site-from-the-main-discourse-logo/229347/11 "2024-07-16T12:32:50Z")

</div>


