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

Как создать подкатегорию с одинаковым альтернативным именем?


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

Здравствуйте, такой вопрос. Мне нужно создать подкатегорию, которая привязана к основной категории с альтернаивным именем, которое уже существует.

DLE не даёт этого сделать, пишет: "Категория с таким именем уже существует!". Видимо из-за того, что скрипт ищет информацию в базе по альт. имени.

Версия: 15.1.

Объясню на примере:

Основная категория: /msk/

Внутренняя категория: /okna/

Результат: /msk/okna/

Другая категория, которая должна получится: /spb/okna/

Отличие данных категорий будет в meta-заголовка Title, будет разный текст. Это возможно? Либо можно будет рассмотреть какой-то альтернативный вариант?

 

Решение тут: https://seopirat.club/threads/kak-sozdat-odnoimennuju-kategoriju-v-dle.1643/

Изменено пользователем raband
Нашёл ответ
Ссылка на сообщение
Поделиться на других сайтах

Имя категории могут быть одинаковые. Однако альтернативное имя, которое на латинице, одинаковым быть не может. Необходимо придумать уникальное название.

Как пример
/msk/msk-okna/
/spb/spb-okna/

Ссылка на сообщение
Поделиться на других сайтах
02.06.2022 в 17:59, raband сказал:

Здравствуйте, такой вопрос. Мне нужно создать подкатегорию, которая привязана к основной категории с альтернаивным именем, которое уже существует.

DLE не даёт этого сделать, пишет: "Категория с таким именем уже существует!". Видимо из-за того, что скрипт ищет информацию в базе по альт. имени.

Версия: 15.1.

Объясню на примере:

Основная категория: /msk/

Внутренняя категория: /okna/

Результат: /msk/okna/

Другая категория, которая должна получится: /spb/okna/

Отличие данных категорий будет в meta-заголовка Title, будет разный текст. Это возможно? Либо можно будет рассмотреть какой-то альтернативный вариант?

 

Решение тут: https://seopirat.club/threads/kak-sozdat-odnoimennuju-kategoriju-v-dle.1643/

Немного доработал функцию поиска id категории 3 уровня (это когда /msk/msk-okna/plastic/), в предыдущей ссылке не находит id категории, когда уровень вложения больше 2. Возможно кому-то пригодится!

function get_ID($cat_info, $category) {
    $arr_cat = array();
	
    foreach ( $cat_info as $cats ) {
        if( $cats['alt_name'] == $category ) $arr_cat[] = $cats['id'];
    }
    if(count($arr_cat) > 1)
    {
        if($_GET['category'])
        {
            $name_first_cat = explode('/', $_GET['category']);
			$name_first_cat = $name_first_cat[0];
            foreach($arr_cat as $first_cat)
            {
                if($cat_info[$cat_info[$first_cat]['parentid']]['alt_name'] == $name_first_cat) {
					return $first_cat;
				} elseif($cat_info[$cat_info[$cat_info[$first_cat]['parentid']]['parentid']]['alt_name'] == $name_first_cat) {
					return $cat_info[$cat_info[$first_cat]['id']]['id'];
				}
            }
        }
    }
    else
        return $arr_cat[0];
    return false;
}

 

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

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

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

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

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

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

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

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

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

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