Получается что $item['myvar'] существует всегда, но не всегда есть в базе!)
Если в базе есть, то нужно выводить немного иначе…
reload
полная перезагрузка...
+647
Репутация
5793
Рейтинг
Loadырь, на данный момент у меня одна переменная $var_in
И она должна принимать значение по умолчанию например "555", но если в базе есть свое значение для этой переменнй, то выводить то что записано в базе)
То есть нет у меня $var_in_bd и $var_default — есть только $var_in которая изначальна равна "555"
В общем фишка в том, что тот массив, который нужно выводить,
до записи в базу выводится так: $item['myvar']
а если выводить из базы (как уже определили), так: cmsModel::yamlToArray($item['myvar'])
Пока массив не записан в базу, этим $item['myvar'] выводится, а этим cmsModel::yamlToArray($item['myvar']) не выводится)
А если уже берем "массив" из базы, то наоборот этим cmsModel::yamlToArray($item['myvar']) выводится, а этим $item['myvar']нет)
В общем как то там не правильно записывается в базу, но бог с ним, главное что можно вывести)
Вот из-за этого появилась необходимость проверки.
По умолчанию в шаблоне контролера выводим $item['myvar'], но если в базе есть запись то заменять на cmsModel::yamlToArray($item['myvar'])
И она должна принимать значение по умолчанию например "555", но если в базе есть свое значение для этой переменнй, то выводить то что записано в базе)
То есть нет у меня $var_in_bd и $var_default — есть только $var_in которая изначальна равна "555"
В общем фишка в том, что тот массив, который нужно выводить,
до записи в базу выводится так: $item['myvar']
а если выводить из базы (как уже определили), так: cmsModel::yamlToArray($item['myvar'])
Пока массив не записан в базу, этим $item['myvar'] выводится, а этим cmsModel::yamlToArray($item['myvar']) не выводится)
А если уже берем "массив" из базы, то наоборот этим cmsModel::yamlToArray($item['myvar']) выводится, а этим $item['myvar']нет)
В общем как то там не правильно записывается в базу, но бог с ним, главное что можно вывести)
Вот из-за этого появилась необходимость проверки.
По умолчанию в шаблоне контролера выводим $item['myvar'], но если в базе есть запись то заменять на cmsModel::yamlToArray($item['myvar'])
И последний вопрос:
Как в шаблоне контроллера проверить есть переменная в базе или нет?
Простая проверка по типу if (empty($var)) {
не катит, так как эта переменная в шаблоне есть всегда, но в базе ее может не быть)
Типа если в базе НЕТ значения, то выводим значение, которое задано заранее, если есть в базе, то выводим значение из базы…
Как в шаблоне контроллера проверить есть переменная в базе или нет?
Простая проверка по типу if (empty($var)) {
не катит, так как эта переменная в шаблоне есть всегда, но в базе ее может не быть)
Типа если в базе НЕТ значения, то выводим значение, которое задано заранее, если есть в базе, то выводим значение из базы…
Loadырь, спасибо! получилось!)
Что бы массив остался массивом, его нужно как то специально записывать?
Тип поля в базе?
Тип поля в базе?
Немного поясню что делаю:
Есть массив $item['myitems'] который отлично выводится конструкцией:
Записываем этот массив в базу: $this->model->addItem($item)
… тут же помимо массива записываются и другие переменные $item['myvar']
Вот все что не массив $item['myvar'] — выводится без проблем)
А то что было массивом до записи (не знаю чем стало) $item['myitems'] — само значение выводится, а так ка до записи в базу, что бы все по отдельности не хочет.
Начинаю понимать что массив после записи становится не массивом…
В общем нужны любые идеи и предложения...
Есть массив $item['myitems'] который отлично выводится конструкцией:
<?php $myitems = $item['myitems']; ?> <ul> <?php foreach($myitems as $itemo){ ?> <li> <p><?php echo html($itemo['title']);?></p> <p><?php echo html($itemo['description']);?></p> </li> <?php }?> </ul>
… тут же помимо массива записываются и другие переменные $item['myvar']
Вот все что не массив $item['myvar'] — выводится без проблем)
А то что было массивом до записи (не знаю чем стало) $item['myitems'] — само значение выводится, а так ка до записи в базу, что бы все по отдельности не хочет.
Начинаю понимать что массив после записи становится не массивом…
В общем нужны любые идеи и предложения...
У вас точно массив???? или одно значение?
До записи в базу точно массив) а то что в базе получается — не знаю)
Должен быть по идее массив, но при выводе через echo/print_r выводит все в одну строку…
Для icms2
Данные из базы в шаблон можно вывести такой конструкцией: $item['title']
Вопрос в следующем, как вывести в шаблон значения, если они записаны в таком виде:
По идеи должно быть что то вроде такого:
Но так не работает…
Переменная $myitems принимает данные из базы,
echo $myitems; — выводит содержимое…
Понимаю что не правильна указана эта конструкция
$itemo['title'];
Изменял ее как угодно методом научного тыка, но безрезультатно)
Как правильно?… пока иду гуглить, может встретится что то подобное)
Данные из базы в шаблон можно вывести такой конструкцией: $item['title']
Вопрос в следующем, как вывести в шаблон значения, если они записаны в таком виде:
---
—
title: 'bla bla bla'
description: bla bla bla
—
title: BLA BLA BLA
description: bla bla bla
—
title: >
bla bla bla
bla!!!
description: bla bla bla
По идеи должно быть что то вроде такого:
<?php $myitems = $item['myitems']; ?> <ul> <?php foreach($myitems as $itemo){ ?> <li> <p><?php echo html($itemo['title']);?></p> <p><?php echo html($itemo['description']);?></p> </li> <?php }?> </ul>
Переменная $myitems принимает данные из базы,
echo $myitems; — выводит содержимое…
Понимаю что не правильна указана эта конструкция
$itemo['title'];
Изменял ее как угодно методом научного тыка, но безрезультатно)
Как правильно?… пока иду гуглить, может встретится что то подобное)
А зачем?
Не вмешиваемся в код "ядро" + можно на отдельной странице задать время перенаправления, можно сделать просто предупреждение с ссылкой без редиректа, можно вывести рекламу, можно задать дополнительные условия для перенаправлений по определенным правилам, и много чего еще можно — и это все будет работать не зависимо от движка и версии!)
изначально это движок для создания сообществ
У каждого свои понятия о сообществе) Не все планируют создать мега социальную сеть на бесплатном двиге, но! многие желают сделать гродской сайт (сообщество) или тематический сайт (сообщество) что инстант позволяет на се 200%
Вторая ветка вообще мега бомба как по мне) Удобна как для разработчиков так и для администраторов...
ps: для двойки конечно форума пока не хватает для полной социальности, но мы долго ждали, подождем еще немного )
В общем каждому свое.
"Даже если спирт замерзнет, все равно его не брошу
Буду грызть его зубами, потому что он хороший!))"
— это я про instantcms!
Я даже не пойму, как они и где прописали свои ссылки. В БД ничего не нашел.
Никто ничего не прописывает в базу, на ваш сайт даже никто не заходит — "ручками" в адресную строку пишут!
Встречал в инете даже базами редиректов торгуют — те кто покупают, даже не видели вашего сайта никогда)
Pasha, не лучше проверку в отдельном файле прописать?
А может их использовать?
Отличный совет. Подобрать партнерку/оффер по теме магазина и перенаправлять в свой карман )
Извините за громкое название темы, но по ходу так оно и случилось.
Таки громкое, так как это всего редирект — любой может прописать в адресной строке вашсайт.ру/redirect?url=свойсат.ру
Тут как бы есть обход, можно проверять от куда идет юзер — если с вашего домена, то редиректим, если с другого домена или без реферера то либо сливать на партнерки, либо отсылать на страницу с уведомлением или на 404.
Что бы не лезть в системные файлы, можно в htaccess прописать перенаправление через отдельную страницу на которой и будет выполнятся проверка по HTTP Referer, например:
RewriteCond %{REQUEST_URI} ^/redirect?url=http://(.*) [NC]
RewriteRule ^(.*)$ mysite.ru/myredirect.php?url=http://%1 [R=302,L]
создать файл myredirect.php и в нем выполнять проверку.
Все правы — я это уже сказал!
однозначного мнения никогда не будет, и самое интересное что каждый по своему прав!
ps: кстати, только что проверил на предмет "дыры вместо них" — дыр нет, можете не переживать — "замысел художника" опытного, остался на месте!)
Расскажите это им — там видать не далекие люди сидят))Это он зря.
Нил™, лично меня "пустота" не так напрягает как реклама — особенно когда детки по нету тусуются а там реклама от которой иногда воротит...Как же замысел художника...
Даже на квадрат Малевича интересней втыкать чем на рекламу — я телик из за рекламы не смотрю!)
В общем каждому свое. Тем более никто никого не заставляет ставить адблок, его даже не рекламирую как всякую вирусню на подобии Я.браузеров, мейлАгентов и др.
И адблок то причем? не будет его, я также буду в файле hosts простыни прописывать. с адблоком просто проще работать.
ps:
и даже дыры адблоком убираются — не только реклама!)и сидя на адблоке видеть дыры вместо них