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

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


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

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

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;
}

 

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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...