Перейти к публикации

Рекомендованные сообщения

Тогда тебе надо в файле engine\modules\tagscloud.php найти строки через плагины и вытащить там переменную $value['count'] из подсказки ( они встречаются там 2 раза )

$tags[] = "<span class=\"{$value['size']}\"><a href=\"".$config['http_home_url']."tags/".rawurlencode(dle_strtolower($url_tag))."/\" title=\"".$lang['tags_count']." ".$value['count']."\">".$value['tag']."</a></span>";
$tags[] = "<span class=\"{$value['size']}\"><a href=\"$PHP_SELF?do=tags&amp;tag=".rawurlencode(dle_strtolower($url_tag))."\" title=\"".$lang['tags_count']." ".$value['count']."\">".$value['tag']."</a></span>";

 То есть вместо ".$value['tag']."  у тебя должно получиться ".$value['tag']." (".$value['count'].") Как то так наверное

Цитата


[available=tags]
<h1>{cloudstag}</h1>
<span>Записей: {tagscount}</span> <!-- например -->
[/available]

А зачем тебе такая конструкция? Ведь тег {tags} глобальный. И он выводит содержимое отдельного шаблона tagscloud.tpl вроде бы как. А его можно через CSS сделать как душе угодно.

Изменено пользователем dds
Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, dds сказал:

А зачем тебе такая конструкция? Ведь тег {tags} глобальный. И он выводит содержимое отдельного шаблона tagscloud.tpl вроде бы как

при просмотре категорий сейчас так

https://post-images.org/photo-page.php?photo=wre9qTW3

а при просмотре тега так

https://post-images.org/photo-page.php?photo=VK0sijpA

как вот вывести также количество публикаций? 

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Travor сказал:

при просмотре категорий сейчас так

https://post-images.org/photo-page.php?photo=wre9qTW3

а при просмотре тега так

https://post-images.org/photo-page.php?photo=VK0sijpA

как вот вывести также количество публикаций? 

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

В файле engine/modules/main.php найти:

$tpl->load_template ( 'main.tpl' );

и добавить выше:

$tag_name = $nam_e;
$cached_result = false;
$cached_time = 3600;      // Время жизни кеша в секундах (1 час)

$cached_data = dle_cache('tags_count_' . $tag_name, $cached_time);
    if ($cached_data !== false) {
        $tag_count = $cached_data;
    } else {
        $tag_result = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE FIND_IN_SET('{$tag_name}', REPLACE(REPLACE(tags, ', ', ','), ' ', '')) > 0");
        $tag_count = $tag_result['count'];
        create_cache('tags_count_' . $tag_name, $tag_count, $cached_time);
    }

$tpl->set('{tags-title}', $tag_name);
$tpl->set('{tags-count}', $tag_count);

Хоть каждый тег и кэшируется ( Файлов кэша будет столько , сколько у тебя тегов ), но для каждого тега будет свой запрос.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, dds сказал:

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

В файле engine/modules/main.php найти:


$tpl->load_template ( 'main.tpl' );

и добавить выше:


$tag_name = $nam_e;
$cached_result = false;
$cached_time = 3600;      // Время жизни кеша в секундах (1 час)

$cached_data = dle_cache('tags_count_' . $tag_name, $cached_time);
    if ($cached_data !== false) {
        $tag_count = $cached_data;
    } else {
        $tag_result = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE FIND_IN_SET('{$tag_name}', REPLACE(REPLACE(tags, ', ', ','), ' ', '')) > 0");
        $tag_count = $tag_result['count'];
        create_cache('tags_count_' . $tag_name, $tag_count, $cached_time);
    }

$tpl->set('{tags-title}', $tag_name);
$tpl->set('{tags-count}', $tag_count);

Хоть каждый тег и кэшируется ( Файлов кэша будет столько , сколько у тебя тегов ), но для каждого тега будет свой запрос.

блин, дружище, спасибо большое)

Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, Travor сказал:

блин, дружище, спасибо большое)

Подзасрали мы конечно немного тему " Пожелание" Но так наверное будет все ж правильней. Не плодить тысячу файлов кэша, а создать один и писать туда данные в виде массива с ключами именами тегов и значениями - количествами новостей для каждого тега.

$tag_name = $nam_e;
$cached_time = 3600; // Время жизни кеша в секундах (1 час)

$cached_data = dle_cache('tags_data_cache', $cached_time); 
$cached_array = ($cached_data !== false) ? unserialize($cached_data) : []; 

if (!isset($cached_array[$tag_name])) {
    $tag_result = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE FIND_IN_SET('{$tag_name}', REPLACE(REPLACE(tags, ', ', ','), ' ', '')) > 0");
    $tag_count = $tag_result['count'];
    
    $cached_array[$tag_name] = $tag_count; 
    
    create_cache('tags_data_cache', serialize($cached_array), $cached_time);
} else {
    $tag_count = $cached_array[$tag_name]; 
}

$tpl->set('{tags-title}', $tag_name);
$tpl->set('{tags-count}', $tag_count);

 

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, dds сказал:

$cached_time = 3600; // Время жизни кеша в секундах (1 час)

Кэш жизни тут не работает, скажите это своему chat-gpt

Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, Gameer сказал:

Кэш жизни тут не работает, скажите это своему chat-gpt

При чем тут chat-gpt?  Простите вы всех так равняете? Типа вы один всезнающий, а остальные не способны ни на что?  Пусть мои знания недостаточны, но меня этому никто не учил. Все постигается долгими вечерами. Это вам так на заметку

Ссылка на сообщение
Поделиться на других сайтах

https://developers.google.com/search/docs/appearance/structured-data/search-gallery?hl=ru

В следующей версии стоит перепроверить разметку и добавить новую - ProfilePage https://developers.google.com/search/docs/appearance/structured-data/profile-page?hl=ru, это будет очень полезно 

Например, для SoftwareApplication https://developers.google.com/search/docs/appearance/structured-data/software-app?hl=ru Google рекомендуют указать BusinessApplication или GameApplication (там список намного больше), а сейчас DLE выводит название категории. Это совсем неверно и не соблюдает гайдлайны гугла.

Кроме того, свойство description не поддерживается, его можно вообще убрать

Изменено пользователем fanera
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, fanera сказал:

Например, для SoftwareApplication https://developers.google.com/search/docs/appearance/structured-data/software-app?hl=ru Google рекомендуют указать BusinessApplication или GameApplication (там список намного больше), а сейчас DLE выводит название категории. Это совсем неверно и не соблюдает гайдлайны гугла. Кроме того, свойство description не поддерживается, его можно вообще убрать

Микроразметка определяется не поисковиком Google, а стандартом https://schema.org Категории могут быть согласно стандартам не то что там пишет гугл и использоваться не только для Google но и для множества других сервисов.  И никаких противоречий стандартам в данном случае нет. Можете посмотреть внимательно стандарт данного типа https://schema.org/SoftwareApplication А если вам нужно задать именно под гугл, то это не может быть универсально для всех сайтов, это персонально под конретный сайт. Можете это прописать под значения названия категорий, можете их отдельно плагином прописать, как вам угодно. DLE предоставляет универсальное решение, именно под стандарт, для любого сервиса, а не только для гугла.

Ссылка на сообщение
Поделиться на других сайтах

можете добавить тэги по типу

[xfgiven_x][xfvalue_x][/xfgiven_x]

для шаблона комментариев, только чтобы это было не имя дополнительного поля профиля пользователя, а имя доп.поля новости?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...