Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 24 Май, 2012, 03:41:10

Страниц: [1]
Печать
Автор Тема: Smarty вхождение подстроки в строку  (Прочитано 2389 раз)
0 Пользователей и 1 Гость смотрят эту тему.
adw0rd    ↓ 
25 Декабрь, 2009, 12:57:50
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

В django-шаблонизаторе есть оператор in:
HTML

{% if "bc" in "abcdef" %}
  This appears since "bc" is a substring of "abcdef"
{% endif %}
 
{% if "hello" in greetings %}
  If greetings is a list or set, one element of which is the string
  "hello", this will appear.
{% endif %}
 
{% if user in users %}
  If users is a QuerySet, this will appear if user is an
  instance that belongs to the QuerySet.
{% endif %}
 

А есть ли такое в смарти? Очень нужно, если нет, то как вариант написать свой тег/оператор/etc только остается
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
md5    ↓ 
25 Декабрь, 2009, 01:10:39 , спустя 12 минут 49 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

вариант есть всегда - написать свой модификатор, это 5 минут
а насчет дефолтного - не встречал
Спустя 24 секунды добавил
кстати, иногда быстрее написать свой модификатор, чем мудить на форуме :)
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
adw0rd    ↓ 
25 Декабрь, 2009, 01:12:35 , спустя 1 минуту 56 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

Почитал про сматри, там типа можно юзать php-функции:
 
HTML

{if strpos($product.category_id, $category.id) !== false}
    <li><a href="/product/{$product.id}/">{$product.title}</a></li>
{/if}
 
Спустя 48 секунд добавил
кстати, иногда быстрее написать свой модификатор, чем мудить на форуме :)
нахер мне шаблонизатор тогда, если он нихуя не может? лучше спрошу на форуме, вдруг в доке проебал момент
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
adw0rd    ↓ 
25 Декабрь, 2009, 01:25:25 , спустя 12 минут 50 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

Но такой вариант нифига не работает... что интересно, посмотрел что мне там смарти нагенерировал и тот код оказался рабочим.... дернул откомпиленный кусок и выполнил отдельно - все работает как мне надо
но блин в шаблонизаторе не пашет
Спустя 1 минуту 19 секунд добавил
шаблон
HTML

{if strpos($product.category_id, $category.id) !== false }
    <li><a href="/product/{$product.id}/">{$product.title}</a></li>
{/if}

откомпиленный шаблон
PHP

<?php if (strpos ( $this->_tpl_vars['product']['category_id'] , $this->_tpl_vars['category']['id'] ) !== false): ?>
    <li><a href="/product/<?php echo $this->_tpl_vars['product']['id']; ?>/"><?php echo $this->_tpl_vars['product']['title']; ?></a></li>
<?php endif; ?>
 

Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
adw0rd    ↓ 
25 Декабрь, 2009, 01:32:09 , спустя 6 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

Разобрался, дело было не в смарти, а в том, что
 
$product.category_id - строка
$category.id - число
 
надо было для strpos $category.id приветси к строке (strval)
Спустя 31 секунду добавил
HTML
{if strpos($product.category_id, strval($category.id)) !== false}
    <li><a href="/product/{$product.id}/">{$product.title}</a></li>
{/if}
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
CTAPbIu_MABP    ↓ 
25 Декабрь, 2009, 02:00:31 , спустя 28 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

adw0rd, кастами не пользуешься из принцыпа?
Записан

java.lang.OutOfMemoryError
adw0rd    ↓ 
25 Декабрь, 2009, 02:13:42 , спустя 13 минут 11 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

CTAPbIu_MABP, кастомными конструкциями?
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
CTAPbIu_MABP    ↓ 
25 Декабрь, 2009, 03:56:54 , спустя 1 час 43 минуты 12 секунд
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

adw0rd,
 
PHP
$my_string_var = (string) 100500;
Записан

java.lang.OutOfMemoryError
adw0rd    ↓ 
25 Декабрь, 2009, 05:37:52 , спустя 1 час 40 минут 58 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

CTAPbIu_MABP, иногда так юзаю, иногда через strval, нету принципов, просто так мне показалось симпатичнее в данный момент времени :)
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
AlexB    ↓ 
25 Декабрь, 2009, 05:45:56 , спустя 8 минут 4 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3424
Сила слова: 2.6

Я тоже, почему-то, больше люблю приведение к типу. С сишных времен привычка ...
Записан

codefather    ↓ 
14 Март, 2011, 02:46:47 , спустя 443 дня 21 час 51 секунду
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 1
Сила слова: 0

с точки зрения логики, это плохое решение искать ИД по строке, по крайней мере без учета разделителей
можно например найти  "12" в строке "8, 123, 245"
 
а по сути темы, strpos в смарти есть
PHP
{if $value|strpos:"foo" !== false}
Записан
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd