Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите с Smarty
 
 автор: krollik   (30.09.2006 в 20:27)   письмо автору
 
 

Вот появилась проблема, которая не решаеться.
Есть массив данных такой структуры

Array
(
    [enum1] => stdClass Object
        (
            [name] => enum1
            [table] => j_vacancy
            [def] => 1
            [max_length] => 0
            [not_null] => 1
            [primary_key] => 0
            [multiple_key] => 0
            [unique_key] => 0
            [numeric] => 0
            [blob] => 0
            [type] => string
            [unsigned] => 0
            [zerofill] => 0
            [values] => Array
                (
                    [0] => '1'
                    [1] => '3'
                    [2] => '4'
                )

            [flags] => Array
                (
                    [0] => not_null
                    [1] => enum
                )

            [len] => 1
        )

)

Нужно произвети проверку определённого числа на присуствие в 'values' и если присуствует, то вывести 'SELECTED'. Всё это нужно сделать в смарти, я пробывал делать так:

{if in_array('1', $array[enum1]->values)}SELECTED{/if} //$array - вышеуказаный массив

но ничего не получаеться(не выводиться SELECTED) =(
Также есть и вторая проблема:
Нужно вывести индекс известного элемента в массиве, также при помощи смарти. Т.е. если смотреть на примере вышеуказаного массива, то нада зная что элемент равен '3' вывести '1' (смотреть на массив 'values').
PS Очень нуждаюсь в вашей помощи!

   
 
 автор: Panker   (30.09.2006 в 21:12)   письмо автору
 
   для: krollik   (30.09.2006 в 20:27)
 

прости думаю в смарти почти тоже самое, малоли сможеш посмочь, посомтри тему http://softtime.ru/forum/read.php?id_forum=1&id_theme=25137&page=1

   
 
 автор: krollik   (01.10.2006 в 09:00)   письмо автору
 
   для: Panker   (30.09.2006 в 21:12)
 

Не, вроде там ответа на мой вопрос нету =( у меня проблема заключаеться в том, что вроде бы правильное выражение(SMARTY даже ошибку не выдаёт) не хочет работать. У меня даже закралос сомнение, что оно просто слишком сложное для Smarty

   
 
 автор: Panker   (01.10.2006 в 11:38)   письмо автору
 
   для: krollik   (01.10.2006 в 09:00)
 

я не тебе помогаю :)))))) я у тебя помощи прошу :)
Слух если не трудно будет стукни какнить когда будет время мне в асю 222-144-414 :)
В смарти я думаю почти тоже самое что у меня

   
 
 автор: Ziq   (01.10.2006 в 12:35)   письмо автору
 
   для: krollik   (01.10.2006 в 09:00)
 

что-то типа вот этого

{foreach from=$array.enum1.values item=curr_id}
{if curr_id == 1}selected{/if}
{/foreach}


а так вообще можно встраивать код php с помощью {PHP}{/PHP}. Но это вроде не рекомендуют делать.

P.S. Может не так, просто давно уже не пользовался смарти.

   
 
 автор: krollik   (01.10.2006 в 12:44)   письмо автору
 
   для: Ziq   (01.10.2006 в 12:35)
 

неполучаеться =((
Тут проблема в чёмто другом, просто такое ощущение, что Smarty не может достучаться до этого массива. Так как даже простой вывод данного массива почемто не происходит =(

   
 
 автор: Ziq   (01.10.2006 в 13:04)   письмо автору
 
   для: krollik   (01.10.2006 в 12:44)
 

где-нибудь в шаблоне вставь

{debug}

посмотри что передается

   
 
 автор: krollik   (01.10.2006 в 13:36)   письмо автору
 
   для: Ziq   (01.10.2006 в 13:04)
 

Во что пишет

Warning: Smarty error: unable to read resource: "file:z:\home\jobs.loc\www\Smarty\debug.tpl" in z:\home\jobs.loc\www\Smarty\Smarty.class.php on line 1095

   
 
 автор: Ziq   (01.10.2006 в 15:29)   письмо автору
 
   для: krollik   (01.10.2006 в 13:36)
 

Какой-то не полный у тебя Smarty.

Прикрепленный файл положи в папку со Smarty. т.е. в z:\home\jobs.loc\www\Smarty\ и переименуй его в debug.tpl

   
 
 автор: krollik   (01.10.2006 в 16:37)   письмо автору
 
   для: Ziq   (01.10.2006 в 15:29)
 

Всё =) справился путём упрощения массива
Повидимому массив оказался не по зубам хвалёному Smarty =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования