Добрый всем день! Где храняться Мета-тег Description? В Базе, ведь больше негде? А к своим страничкам они на уровне базы привязаны или нет? Можно прямо в базу добавить Мета-тег Description для тех страниц, для которых он не предусмотрен в админке? Это и доставка, и оплата, и главная страница на языке, отличным от основного. Если нельзя просто подстановкой в базу, то как можно реализовать? Спасибо.
Дмитрич, страницы доставки и оплаты - это обычные информационные страницы, при создании и редактировании страницы для каждого языка появляется вкладка со своими полями (название, тайтл, дескрипшн, и т.д.). А вот чтоб для главной сделать такое, можно попробовать сделать условие на проверку языка. Ну, а вообще я бы смотрел в сторону создания мультиязычности сторонними плагинами, где каждый язык имеет свой урл: /ru/, /en/, и т.п. Толку от стандартной мультиязычности мало.
Спасибо, Bnopen. У меня реализована мультиязычность через дополнительный каталог ua/ к украиноязычной части. Но Вы же знаете, что для главной страницы есть одно поле для тегов, без вкладок языков. У меня или на русском будет тег на обеих главных, или на украинском. Гугл ругается по этому поводу, но я не знаю как исправить ситуацию.
Дмитрич, попробуйте условие по сессии. Делал так для перевода пунктов меню: <?php if($_SESSION['language']=='ru'){ echo "Текст на русском"; } else { echo "Текст українською";} ?>
Извините, это где использовать? В header.tpl у меня: <meta name="description" content="<?php echo $description; if (isset($_GET['page'])) { echo " - ". ((int) $_GET['page'])." ".$text_page;} ?>" /> <?php } ?> В header.php у меня: $this->data['description'] = $this->document->getDescription();
Код: <meta name="description" content="<?php if($_SESSION['language']=='ru') { echo "Текст на русском"; } else { echo "Текст українською";} ?>" />
NinoZombie, спасибо, но в таком виде на русской страничке пропал совсем тег. а вот на украинском - всё получилось.
Дмитрич, на русском надо оставить дескрипшн, который вы заполняете для главной в настройках магазина, а вот на укр уже ввести свое, вот как-то так надо: PHP: <meta name="description" content="<?php if($_SESSION['language']=='ru') {echo $description; } else { echo "Текст українською";} ?>" /> --- Добавлено, 4 май 2014 --- ru - точно. В вашем коде нет echo для русского. --- Добавлено, 4 май 2014 --- Это, чтоб текст весь был в коде: PHP: <meta name="description" content="<?php if($_SESSION['language']=='ru') {echo "Текст на русском"; } else { echo "Текст українською";} ?>" />
)) Спасибо, так получилось с главными страницами, но на всех страницах половины сайта на украинском языке выводится один текст тега, вбитый в header. Эх... А я уже так обрадовался... ( Можно ли ограничить действие только страницей с жёстко заданным адресом? --- Добавлено, 4 май 2014 --- Или так: выводить тег по умолчанию, а если его нет, то: <meta name="description" content="<?php if($_SESSION['language']=='ru') { echo "Текст на русском"; } else { echo "Текст українською";} ?>" /> Тогда можно убрать с админки тег для главной и всё должно работать. Только вот есть же ещё страницы без этого тега? И на них будет одинаковый отображаться - это тоже плохо. --- Добавлено, 4 май 2014 --- Посмотрите, пожалуйста! Может что-то вроде этого? <meta name="description" content="<?php echo $description; ?>" /> <?php } else { ?> <meta name="description" content="<?php if($_SESSION['language']=='ru') { echo "Текстнарусском"; } else { echo "Текстукраїнською";} ?>" />
страниц вроде корзины, поиска, и т.п... не должно быть в индексе ПС, закрывать в роботс.тхт, поэтому, без разницы какое там metadescription. В опенкарте для каталогов, товаров и статичных страниц из раздела information есть возможность прописать мета описание на разных языках, больше и не нужно
Спасибо, blackfm, наверное так. Мета ещё нет и в контактах, вроде. Тоже лучше закрыть? А вообще я прописал тот вариант, который выше сам же и предложил. Всё работает. Спасибо Bnopen и NinoZombie за советы и рецепты, приведшие к результату.
дефолтная страница контактов очень скудная, я всегда делаю простую информационную страницу с контактными данными + текст, а функция "Обратный звонок" и "Написать жалобу / предложения и т.п." через модальные окна.
Просто создать статью и вставить в неё код окон обратной связи? Это описано где-то? А то меня эти контакты тоже не устраивают. Адрес ведь выдодится из админки на одном языке для всех версий сайта. Пришлось в языковых файлах всё прописывать. Ну и тегов у неё нет никаких описательных.
есть расширения / модули формы обратной связи... ищите на форуме, если не ошибаюсь, одно и таких называется callme
понизилась позиция главной страницы, смотрю, а Гугл ругается, что Мета-тег одинаковый у неё с картой сайта. Ведь для карты сайта в админке тоже тега нет.... Можно ли его как-то где-то прописать конкретно для страницы карты сайта? Пока я вообще запретил её в роботс и удалил из индекса.
Ребята, помогите пожалуйста решить наконец проблему с тегами на мультиязычном Опенкарт. Как в header.tpl можно жёстко задать title и meta name="description" для определённых страниц? Типа <title>www.mysite.com.ua</title> И как это встроить в конструкцию: <title><?php echo $title; if (isset($_GET['page'])) { echo " - ". ((int) $_GET['page'])." ".$text_page;} ?></title> Гугл ругается на повторы, так как название совпадает на двух языках и Мета-описания совпадают на главной и карте сайта и пр. Главная страницу улетела из выдачи. --- Добавлено, 30 май 2014 --- Понял, что не правильно выразился. Нужно выражение типа: Если для страницы не задан титл, то если страница = www.mysite.com.ua, то <title>некое название</title>, если страница = www.mysite.com.ua/ua, то <title>другое название</title>,