Forum categories

Записки CotoДела

Мои записи, как типовые решения разных вопросов с Cotonti

webitproff
webitproff • 2026-05-02 02:51 #551

Разделение заголовков и по шаблонам

 

Проект +/- факт 

#_1. Мета-заголовок в браузер на страницу карточки товара ( themes/index36/header.market.cat-alias.pagehasid.tpl ); 
#_2. Мета-описание в браузер на страницу карточки товара ( themes/index36/header.market.cat-alias.pagehasid.tpl );
#_3. Заголовок на страницу карточки товара ( themes/index36/modules/market/market.cat-alias.tpl );
#_4. Описание-краткое на страницу карточки товара ( themes/index36/modules/market/market.cat-alias.tpl ); 
#_5. Заголовок товара в списках его категории (market.list.tpl); 
#_6. Описание-краткое товара в списках его категории (market.list.tpl); 
#_7. Заголовок товара на странице с формой редактирования товара (market.edit.tpl); 
#_8. Описание-краткое товара на странице с формой редактирования товара (market.edit.tpl); 
#_9. Заголовок товара на странице с формой переводов локализации товара (i18n4marketpro.market.tpl); 
#_10. Описание-краткое товара на странице с формой переводов локализации товара (i18n4marketpro.market.tpl);

 

// ===== НАЧАЛО УЧАСТКА:  #_1 
{I18N_HEADER_MXTRA_META_TITLE}  
Мета-заголовок в браузер (header.tpl);   
// =====  
<!-- ЛОКАЛИЗОВАННЫЙ ЗАГОЛОВОК ДЛЯ {HEADER_TITLE} -->
( themes/index36/header.market.cat-alias.pagehasid.tpl )

значения ложим в 
`cot_extra_fields` = 'cot_i18n4marketpro_pages' | 'mxtra_meta_title';

ПЕРЕДАЧА ЗНАЧЕНИЙ ПЕРЕВОДА ЭКСТРАПОЛЕЙ В HEADER ВЫПОЛНЯЕТСЯ В 
File: /plugins/i18n4marketpro/i18n4marketpro.header.tags.php

ЕСЛИ "существует" - ложим значение, иначе "по-умолчанию"

<!-- IF {I18N_HEADER_MXTRA_META_TITLE} --> 
<title>{I18N_HEADER_MXTRA_META_TITLE}</title>
<!-- ELSE -->
<title>{HEADER_TITLE}</title>
<!-- ENDIF -->

FOR EXAMPLE (upto_36_char):

<title>Intel® Core™ i5-10400 Processor</title>

Обратный порядок:
1. при редактировании перевода ставим свой мета-заголовок;
2. записываем его в поле `ipage_mxtra_meta_title` таблицы 'cot_i18n4marketpro_pages', где это поле зарегистрировано как 'mxtra_meta_title' для `cot_extra_fields`.
3. На странице товара, имеем пользовательский шаблон header.market.cat-alias.pagehasid.tpl в котором, если локализация сайта не равна дефолтной, в мета-заголовок устанавливаем значение из `ipage_mxtra_meta_title` используя хук i18n4marketpro.header.tags.php через который парсим экстраполя.

// ===== ЗАВЕРШЕНИЕ УЧАСТКА:   #_1 
{I18N_HEADER_MXTRA_META_TITLE}   
// =====  

 

 

// ===== НАЧАЛО УЧАСТКА:  #_2 
{I18N_HEADER_MXTRA_META_DESCRIPTION}  
Мета-описание в браузер (header.tpl);   
// =====  
<!-- ЛОКАЛИЗОВАННОЕ ОПИСАНИЕ ДЛЯ {HEADER_META_DESCRIPTION} -->
( themes/index36/header.market.cat-alias.pagehasid.tpl )

значения ложим в 
`cot_extra_fields` = 'cot_i18n4marketpro_pages' | 'mxtra_meta_description';

ПЕРЕДАЧА ЗНАЧЕНИЙ ПЕРЕВОДА ЭКСТРАПОЛЕЙ В HEADER ВЫПОЛНЯЕТСЯ В 
File: /plugins/i18n4marketpro/i18n4marketpro.header.tags.php

ЕСЛИ "существует" - ложим значение, а иначе "по-умолчанию"

<!-- IF {I18N_HEADER_MXTRA_META_DESCRIPTION} --> 
    <meta name="description" content="{I18N_HEADER_MXTRA_META_DESCRIPTION}" />
<!-- ELSE -->
    <!-- IF {HEADER_META_DESCRIPTION} -->
    <meta name="description" content="{HEADER_META_DESCRIPTION}" />
    <!-- ENDIF -->
<!-- ENDIF -->

FOR EXAMPLE (upto_150_char):

<meta name="description" content="Total Threads 12, Max Turbo Frequency 4.30 GHz, Intel® Turbo Boost Technology 2.0 Frequency ‡ 4.30 GHz, Processor Base Frequency 2.90 GHz, Cache 12 MB"/>    

Обратный порядок:
1. при редактировании перевода ставим своё Мета-описание ;
2. записываем его в поле `ipage_mxtra_meta_description` таблицы '$db_i18n4marketpro_pages', где это поле зарегистрировано как 'mxtra_meta_description' для `$db_extra_fields`.
3. На странице товара, имеем пользовательский шаблон header.market.cat-alias.pagehasid.tpl в котором, если локализация сайта не равна дефолтной, в мета-описание устанавливаем значение из `ipage_mxtra_meta_description` используя хук i18n4marketpro.header.tags.php через который парсим экстраполя.

// ===== ЗАВЕРШЕНИЕ УЧАСТКА:   #_2 
{I18N_HEADER_MXTRA_META_DESCRIPTION}   
// =====  

 

 

// ===== НАЧАЛО УЧАСТКА:  #_3 Секция #_31
{MARKET_TITLE} {I18N_MXTRA_PAGE_H1} {MARKET_XTRA_PAGE_H1}
// =====  
{MARKET_TITLE} - Заголовок первого уровня <h1></h1> по-умолчанию (локализация сайта равна дефолтной)
{I18N_MXTRA_PAGE_H1} - локализированное значение заголовка товара (локализация сайта НЕ равна дефолтной)
{MARKET_XTRA_PAGE_H1} - Кастомизированный заголовок товара для локализации по-умолчанию

{MARKET_TITLE} = `fieldmrkt_title` из '$db_market'
                ( themes/index36/modules/market/market.cat-alias.tpl )

{I18N_MXTRA_PAGE_H1} = `ipage_mxtra_page_h1` таблицы '$db_i18n4marketpro_pages'
                ( i18n4marketpro.market.tpl );

{MARKET_XTRA_PAGE_H1} - `page_h1` таблицы `$db_xtradbrowmarket`
               (market.edit.tpl) 
                 ( themes/index36/modules/market/market.cat-alias.tpl )

FOR EXAMPLE (upto_110_char):

<h1>Processor Intel Core i5 10400 2.90 GHz, up to 4.30 GHz Cache 12 MB, Alder Lake, 65W, S1200 Box (BX8070110400)</h1>

 

<!-- IF {I18N_MXTRA_PAGE_H1} -->
    {I18N_MXTRA_PAGE_H1}
<!-- ELSE -->
    <!-- IF {MARKET_XTRA_PAGE_H1} -->
    {MARKET_XTRA_PAGE_H1}
    <!-- ELSE -->
    {MARKET_TITLE}
    <!-- ENDIF -->
<!-- ENDIF -->

// ===== ЗАВЕРШЕНИЕ УЧАСТКА: #_3 Секция #_31
{MARKET_TITLE} {I18N_MXTRA_PAGE_H1} {MARKET_XTRA_PAGE_H1}
// =====  

🗿

🧙‍♂️ Well met, good traveler! Fate has guided your steps to our humble realm. Here, wise sages and masters of the coding craft ⚒️📜 gather to unravel the mysteries of the code ✨⚙️, share their knowledge, and add new chapters to our chronicles.
⬅️ To the left lie ancient scrolls 📚 filled with forgotten wisdom. ⬆️ Straight ahead, friendly folk offer counsel 💬 to those in need. ➡️ To the right, you may become a chronicler ✍️ yourself, sharing your craft and leaving words of wisdom for those yet to come.
📝 Delay no longer—tell us the name by which you are known, complete the rite of registration 🛡️, and join our fellowship!
🏰 Our brotherhood holds no secret initiation, yet many halls remain closed to wandering guests, for some knowledge 💎 is reserved for those who choose to walk this path beside us.