Перейти к содержимому


Фото
- - - - -

Вывод данных из таблицы с маленькой буквы


  • Чтобы отвечать, сперва войдите на форум
22 ответов в теме

#1 esistema1

esistema1
  • Пользователь
  • 50 сообщений

Опубликовано 14.07.2017 - 10:48

Всем привет!

 

Прошу помощи..

 

Есть {$category->name} выводит название категории в виде "Категория", как сделать так чтобы вывод был с маленькой буквы "категория", без изменения в самой таблице?



#2 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 334 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 14.07.2017 - 11:12

Стилями сделайте.

style="text-transform: lowercase;" если прямо в шаблоне или добавьте text-transform: lowercase; в нужный класс в стилях

#3 esistema1

esistema1
  • Пользователь
  • 50 сообщений

Опубликовано 14.07.2017 - 11:21

Через стили не подойдет мне это в title надо вывести...



#4 esistema1

esistema1
  • Пользователь
  • 50 сообщений

Опубликовано 14.07.2017 - 11:36

Немного разобрался надо сделать так {$category->name|lower}. Но работает только с английским языком, на русском не срабатывает. Как исправить?



#5 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 334 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 14.07.2017 - 11:41

А что мешает титлу задать стиль?

<title style="text-transform: lowercase;">{$category->name|lower}</title>


Или Вы это всё в PHP пытаетесь сделать?

Тогда strtolower() Вам в помощь.


Изменено: koteyka, 14.07.2017 - 11:43


#6 esistema1

esistema1
  • Пользователь
  • 50 сообщений

Опубликовано 14.07.2017 - 11:49

на title стиль не действует...



делаю в index.tpl



#7 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 334 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 14.07.2017 - 11:50

Немного разобрался надо сделать так {$category->name|lower}. Но работает только с английским языком, на русском не срабатывает. Как исправить?

Работает и с кириллицей. Я проверил.

<title>{$meta_title|lower}</title>

вывел

<title>кровати</title>

хотя категория называется Кровати


Изменено: koteyka, 14.07.2017 - 11:52


#8 esistema1

esistema1
  • Пользователь
  • 50 сообщений

Опубликовано 14.07.2017 - 12:02

у меня не работает с кириллицей... возможно из за того что simpla 1.4


Изменено: esistema1, 14.07.2017 - 12:21


#9 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 334 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 14.07.2017 - 12:34

Возможно. Т.к. там версия смарти еще старая стоит.

А на строне PHP не подходит? Если сразу в шаблон выводить строчными буквами?

А там, где нужно с заглавной, потом стилями править.


Изменено: koteyka, 14.07.2017 - 12:35


#10 esistema1

esistema1
  • Пользователь
  • 50 сообщений

Опубликовано 14.07.2017 - 12:35

а как в php сделать? надо только в title сделать маленькие буквы во всех остальных местах должно быть с заглавной..



#11 Maksclub

Maksclub

    Помогаю с Симплой

  • Фрилансер
  • 1 094 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 14.07.2017 - 14:01

--


Изменено: Maksclub, 14.07.2017 - 14:01


#12 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 334 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 14.07.2017 - 16:59

$categories = $this->categories->get_categories_tree();
foreach($categories as $c)
{
    $c->name = mb_strtolower($c->name);
}
$this->design->assign('categories', $categories);

Это вставьте в view/IndexView.php вместо

        // Категории товаров
		$this->design->assign('categories', $this->categories->get_categories_tree());

Код правда для 2.3.х версий, но думаю, что у Вас на особо отличается, если отличается.

 

Потом. если нужно с заглавной стилями правите то, где выводится $c->name


Изменено: koteyka, 14.07.2017 - 17:10


#13 ЯкЦинДрак

ЯкЦинДрак
  • Пользователь
  • 88 сообщений
  • Программирование
  • Откуда:Russia

Опубликовано 14.07.2017 - 17:10

$categories = $this->categories->get_categories_tree();
foreach($categories as $c)
{
    $c->name = strtolower($c->name);
}
$this->design->assign('categories', $categories);

Это вставьте в view/IndexView.php вместо

        // Категории товаров
		$this->design->assign('categories', $this->categories->get_categories_tree());

Код правда для 2.3.х версий, но думаю, что у Вас на особо отличается, если отличается.

 

Метод содержит ДВЕ ошибки:

1. Он переписывает названия в нижний регистр только в категориях верхнего уровня, у остальных останется по-прежнему.

2. У тех, у которых переписывает, нижний регистр будет на страницах ВЕЗДЕ, а надо только в title.



#14 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 334 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 14.07.2017 - 17:14

 1. Он переписывает названия в нижний регистр только в категориях верхнего уровня, у остальных останется по-прежнему.

Тут нужно, чтобы ТС уточнял, что он этим преследует. Как я понял, он хочет к какому-то титлу добавлять еще и название категории.

Тогда возникает вопрос, на каких страницах ему это нужно. Если везде, то реализация будет одна. Если на странице с категориями, то другая и т.д.

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

Дописать цикл с перебором подкатегорий не сложно. Нужно для начала чтобы ТС сказал, на каких страницах это ему нужно.

Можно вообще выводить в шаблон отдельной переменной $title_category, например.


Изменено: koteyka, 14.07.2017 - 17:23


#15 ЯкЦинДрак

ЯкЦинДрак
  • Пользователь
  • 88 сообщений
  • Программирование
  • Откуда:Russia

Опубликовано 14.07.2017 - 18:44

По-моему, ТС поставил задачу весьма точно и понятно.

Тут нужно, чтобы ТС уточнял, что он этим преследует. Как я понял, он хочет к какому-то титлу добавлять еще и название категории.
Тогда возникает вопрос, на каких страницах ему это нужно. Если везде, то реализация будет одна. Если на странице с категориями, то другая и т.д.

Ясно сказано - преследует цель, чтобы в title название категории было маленькими буквами.
Естестествено, не у всех страниц, а у тех, в которых он захочет прописать в шаблоне.

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

По-моему, смысл прост. БД запись может быть с заглавной "Диваны", а при выводе в title надо маленькими буквами "диваны".

Дописать цикл с перебором подкатегорий не сложно. Нужно для начала чтобы ТС сказал, на каких страницах это ему нужно.


Видимо, надо делать так, чтоб работало на ВСЕХ страницах.

Можно вообще выводить в шаблон отдельной переменной $title_category, например.

Хорошая идея.

#16 koteyka

koteyka

    Фрилансер

  • Пользователь
  • 1 334 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Днепропетровск

Опубликовано 14.07.2017 - 20:45

Мда. Смена ника сущности человека не поправила. Ты, как обычно, в своем репертуаре. Лишь бы рассусоливать ;)

Ясно сказано - преследует цель, чтобы в title название категории было маленькими буквами.

Что тут ясно? На странице какой? Там, где категория выводится в шаблон или на странице с постами?

 

Видимо, надо делать так, чтоб работало на ВСЕХ страницах.

Да что ты ....?

И какую категорию выводить на странице корзины?


Изменено: koteyka, 14.07.2017 - 20:55


#17 Kosjak76

Kosjak76
  • Модератор
  • 3 563 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 14.07.2017 - 22:18

Прекращайте срач.

Корс, тебе последнее предупреждение.

Если нечего сказать ПО-СУЩЕСТВУ (конкретный код) то лучше молчи.

А то опять в бан угодишь.



#18 Kosjak76

Kosjak76
  • Модератор
  • 3 563 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 14.07.2017 - 22:25

Если по сути:

В последних версиях Смарти прекрасно работает такая конструкция

{mb_strtolower($category->name)}

Что там было в 1.4 - уже давно не помню.

Как вариант - написать свой модификатор для Смарти.



#19 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 680 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 14.07.2017 - 23:13

Если по сути:
В последних версиях Смарти прекрасно работает такая конструкция

{mb_strtolower($category->name)}
Что там было в 1.4 - уже давно не помню.
Как вариант - написать свой модификатор для Смарти.
Для этого нужно а php.ini доп. строчку прописать, кажись mb_string = true я точно не помню.

#20 esistema1

esistema1
  • Пользователь
  • 50 сообщений

Опубликовано 15.07.2017 - 07:04

mb_strtolower - не работает..., даже если прописать mb_string = true в php.ini






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых