0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 893 Просмотров
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Здравствуйте. Пользуюсь метками товаров в виде бэйджев с текстом. Но получается бэйдж один (цвет) а тексты разные (новый, акция и т.д.). Нужно бы и цветами их выделить. Придумалось решение добавлять к метке класс, который формируется из названия метки с помощью транслита. Нашел в интернете функцию, которая может это делать.
Код
function rus2translit($string) {
    $converter = array(
        'а' => 'a',   'б' => 'b',   'в' => 'v',
        'г' => 'g',   'д' => 'd',   'е' => 'e',
        'ё' => 'e',   'ж' => 'zh',  'з' => 'z',
        'и' => 'i',   'й' => 'y',   'к' => 'k',
        'л' => 'l',   'м' => 'm',   'н' => 'n',
        'о' => 'o',   'п' => 'p',   'р' => 'r',
        'с' => 's',   'т' => 't',   'у' => 'u',
        'ф' => 'f',   'х' => 'h',   'ц' => 'c',
        'ч' => 'ch',  'ш' => 'sh',  'щ' => 'sch',
        'ь' => '\'',  'ы' => 'y',   'ъ' => '\'',
        'э' => 'e',   'ю' => 'yu',  'я' => 'ya',
        
        'А' => 'A',   'Б' => 'B',   'В' => 'V',
        'Г' => 'G',   'Д' => 'D',   'Е' => 'E',
        'Ё' => 'E',   'Ж' => 'Zh',  'З' => 'Z',
        'И' => 'I',   'Й' => 'Y',   'К' => 'K',
        'Л' => 'L',   'М' => 'M',   'Н' => 'N',
        'О' => 'O',   'П' => 'P',   'Р' => 'R',
        'С' => 'S',   'Т' => 'T',   'У' => 'U',
        'Ф' => 'F',   'Х' => 'H',   'Ц' => 'C',
        'Ч' => 'Ch',  'Ш' => 'Sh',  'Щ' => 'Sch',
        'Ь' => '\'',  'Ы' => 'Y',   'Ъ' => '\'',
        'Э' => 'E',   'Ю' => 'Yu',  'Я' => 'Ya',
    );
    return strtr($string, $converter);
}
function str2url($str) {
    // переводим в транслит
    $str = rus2translit($str);
    // в нижний регистр
    $str = strtolower($str);
    // заменям все ненужное нам на "-"
    $str = preg_replace('~[^-a-z0-9_]+~u', '-', $str);
    // удаляем начальные и конечные '-'
    $str = trim($str, "-");
    return $str;
}

Теперь вопрос, куда ее (функцию) добавить/вставить, что бы потом обновлять магазин без проблем. В шаблон продукта не хочется, что бы не загромаждать его. С function.php она слетит при первом обновлении, забуду поправить и все. Может где-то в шаблоне JH есть аналогичный файл, куда эту функцию можно вписать и обновление магазина его не будет затрагивать (шаблон у меня не дефолтный)? Или создать отдельный файл с ф-ей и как-то его подключить к шаблону. Но тут я не силен.
Как лучше или как правильно?

Или может я не там копаю и есть решение с отдельными классами для меток проще/лучше?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Разные классы для меток товара
« Ответ #1 : 01.11.2015, 21:34:50 »
прив ещё раз
у меток есть свои таблицы, не насилуй их.
измени код и запрос, зачем ты ..........
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Разные классы для меток товара
« Ответ #2 : 01.11.2015, 21:39:11 »
JFilterOutput::stringURLSafe($string)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Re: Разные классы для меток товара
« Ответ #3 : 02.11.2015, 10:47:35 »
Дмитрий, я вставил в класс метки такой код
Код
<?php JFilterOutput::stringURLSafe($product->_label_name);?>
вывело пустоту. Я что-то не то сделал?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Разные классы для меток товара
« Ответ #4 : 02.11.2015, 10:52:44 »
нижнее подчёркивание зачем? и где this?
помоему неправильно строка создана.
и чем стили свои тебе мешают сделать?
зачем новый код? или у тебя там опять свои приколы новые?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Re: Разные классы для меток товара
« Ответ #5 : 02.11.2015, 11:06:27 »
 vipiusss, на флуд смахивает. Код названия лэйбла взят из шаблона. Я бы вас попросил воздержаться от предположительных ответов/советов.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Разные классы для меток товара
« Ответ #6 : 02.11.2015, 11:08:42 »
вывело пустоту - потому что надо echo использовать если что то вывести хочется :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Re: Разные классы для меток товара
« Ответ #7 : 02.11.2015, 11:12:03 »
Вот так правильно
Код
 <?php echo JFilterOutput::stringURLSafe(htmlspecialchars($product->_label_name));?>
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Re: Разные классы для меток товара
« Ответ #8 : 02.11.2015, 11:19:21 »
Дмитрий спасибо! (+)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Разные классы для меток товара
« Ответ #9 : 02.11.2015, 11:28:53 »
а зачем htmlspecialchars? только удлинит название класса в случае если название метки содержит например кавычки, а особо смысл в этом?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Re: Разные классы для меток товара
« Ответ #10 : 02.11.2015, 11:35:03 »
Цитировать
а зачем htmlspecialchars? только удлинит название класса в случае если название метки содержит например кавычки, а особо смысл в этом?
Потому что не вывело текст, вот и начал искать в чем причина. Добавил echo и htmlspecialchars и заработало. Что оно означает я пока не могу знать, это вы только можете :).
М-да... получаются разные классы для разнык языков сайта. В принципе, не сильно критично (можно и для нескольких классов стили прописать), но может есть у кого-то идеи с альтернативным способом?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Разные классы для меток товара
« Ответ #11 : 02.11.2015, 11:52:32 »
id метки используйте. делайте например класс <?php echo 'metka_'.$product->label_id ?>
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Re: Разные классы для меток товара
« Ответ #12 : 02.11.2015, 11:53:13 »
Супер, точно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Условие для кол-ва товара больше нуля

Автор kik84

Ответов: 3
Просмотров: 258
Последний ответ 16.02.2024, 13:33:24
от kit2m2
Разные ссылки и названия на один товар

Автор gooodwin67

Ответов: 2
Просмотров: 540
Последний ответ 04.11.2023, 12:34:19
от nevigen
WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 9
Просмотров: 1456
Последний ответ 17.10.2023, 12:40:19
от sergeytolkachyov
Убрать модуль в карточке товара JoomShopping

Автор alexkraym

Ответов: 35
Просмотров: 4411
Последний ответ 21.08.2023, 07:17:53
от delchev
Проблема с фото в карточке товара

Автор astapon

Ответов: 18
Просмотров: 1616
Последний ответ 24.04.2023, 12:37:50
от kit2m2