Azami
+26
Репутация
12
Рейтинг
Обновил первый пост, выложил содержимое трех файлов. Почистил тему.
Доступ для просмотра назначали для пунктов меню в админке?
Можно конечно, в мойвиджет.php.tpl вставить кусок кода profile.tpl.php
Но на выходе я получаю вывод всех без исключения полей в сайдбаре. и не могу контроллировать их вывод из админки.
В данном случае смог исключить из цикла (который под споллером) некоторые позиции с помощью конструкции
Но! текстовые поля (которые исключены этой конструкцией) не показываются (это хорошо), а те которые списками, датами, или чеками — у них остаются названия — значения не отображаются, а название — да.
Помимо этого после удаления части контента еще и оставляет незакрытыми дивы.
Поэтому этот метод не вариант. Первый куда лучше.
Провел за этой затеей не меньше 20 часов. Марафон результатов не принес. Я не кодер, это мои первые шаги.
Ребят, как видите не жду тупо халявы, но реально не получается.
Пожалуйста уделите немного времени. Иначе истерика и разбитый лоб обеспечены ).
Я в замешательстве. Заранее спасибо.
<div> <div> <?php $fieldsets = cmsForm::mapFieldsToFieldsets($fields, function($field, $user){ return true; }, $profile); ?> <?php foreach($fieldsets as $fieldset){ ?> <?php if (!$fieldset['fields']) { continue; } ?> <div class="fieldset"> <?php if ($fieldset['title']){ ?> <div class="fieldset_title"> <h3><?php echo $fieldset['title']; ?></h3> </div> <?php } ?> <?php foreach($fieldset['fields'] as $field){ ?> <?php $label_pos = 'none'; } else { $label_pos = $field['options']['label_in_item']; } ?> <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>"> <?php if ($label_pos != 'none'){ ?> <div class="title title_<?php echo $label_pos; ?>"><?php echo $field['title']; ?>: </div> <?php } ?> <?php if ($field['name']=="city") {?> <div class="value"> <?php $city_parents = cmsCore::getModel('geo')->getCityParents($profile['city']['id']); $region = cmsCore::getModel('geo')->filterEqual('i.id', $city_parents['region_id'])->getRegions($city_parents['country_id']); $country = cmsCore::getModel('geo')->filterEqual('i.id', $city_parents['country_id'])->getCountries(); ?> <span><?php echo $field['handler']->parse( $profile[$field['name']] ); ?></span> (<span><?php foreach($country as $country_name) echo $country_name; ?></span>, <span><?php foreach($region as $region_name) echo $region_name; ?></span>) </div> </div> <?php continue; } ?> <div class="value"> <?php echo $field['handler']->parse( $profile[$field['name']] ); ?> </div> </div> <?php } ?> </div> <?php } ?> </div>
В данном случае смог исключить из цикла (который под споллером) некоторые позиции с помощью конструкции
<?php if ($field['name']=="hobby" || $field['name']=="about_company" || $field['name']=="birth_date")) { continue; } ?>
Помимо этого после удаления части контента еще и оставляет незакрытыми дивы.
Поэтому этот метод не вариант. Первый куда лучше.
Провел за этой затеей не меньше 20 часов. Марафон результатов не принес. Я не кодер, это мои первые шаги.
Ребят, как видите не жду тупо халявы, но реально не получается.
Пожалуйста уделите немного времени. Иначе истерика и разбитый лоб обеспечены ).
Я в замешательстве. Заранее спасибо.
логично
Выводятся только текстовые поля. Каким образом вывести город, данные из списка, фотографии?
Поддержите, кому это тоже интересно
Ребят, задавал вопрос, но удалил нечаянно.
Итак, с задачей частично справился.
Создал виджет который показывает доп поля пользователя. Виджет работает, но не так как хотелось бы.
У виджета в админке есть опции, где я прописываю какие поля необходимо показывать (через запятую).
Проблема:
Но он выводит только данные из текстовых полей.
Не выводит данные из списков, местоположений и дат.
Не группирует поля как в профиле (напрример: общая информация, контакты и пр.)
Нет стилизации (верстки, классов как в профиле).
мойвиджет.php.tpl содержит такой вывод
А widget.php это
options.form.php содержит
Помогите допилить. Спасибо
Итак, с задачей частично справился.
Создал виджет который показывает доп поля пользователя. Виджет работает, но не так как хотелось бы.
У виджета в админке есть опции, где я прописываю какие поля необходимо показывать (через запятую).
Проблема:
Но он выводит только данные из текстовых полей.
Не выводит данные из списков, местоположений и дат.
Не группирует поля как в профиле (напрример: общая информация, контакты и пр.)
Нет стилизации (верстки, классов как в профиле).
мойвиджет.php.tpl содержит такой вывод
<?php if($fields_names) { ?> <div class="fields" style="padding-left:10px;"> <?php foreach($fields_names as $name) { ?> <div><span class="dopoinf"><?php echo $fields[$name]['title'] ?>:</span> <?php echo $profile[$name] ?></div> <?php } ?> </div> <?php } ?>
А widget.php это
<?php class widgetUsersPcavatar extends cmsWidget { public $is_cacheable = false; public function run(){ $uri = cmsCore::getInstance()->uri; $content_model = cmsCore::getModel('content'); $item = $content_model->getContentItem($res2[0], $res2[1], 'slug'); $id = $item['user_id']; } else { $id = $res[1]; } $content_model->setTablePrefix(''); $content_model->orderBy('ordering'); if($this->options['fields_names']) { $fields = $content_model->getContentFields('users'); } $profile = cmsCore::getModel('users')->getUser($id); 'profile' => $profile, 'id' => $id, 'fields_names' => $this->options['fields_names'] ? explode(",", $this->options['fields_names']) : false, ); } }
options.form.php содержит
<?php class formWidgetUsersPcavatarOptions extends cmsForm { public function init() { 'type' => 'fieldset', 'title' => LANG_OPTIONS, 'title' => 'name полей для вывода', 'hint' => 'через запятую, в порядке вывода', 'default' => 0 )), ) ), ); } }
Спасибо )
Здравствуйте.
После переноса с локалки на хост появилась оказия.
При редактировании содержимого в html блоке вместо конструкции
<div style="float:left; width:311px;">
сохраняется
<div style=\"float:left; width:311px;\">
С чем это связано?
После переноса с локалки на хост появилась оказия.
При редактировании содержимого в html блоке вместо конструкции
<div style="float:left; width:311px;">
сохраняется
<div style=\"float:left; width:311px;\">
С чем это связано?
Кидайте и мне, постараюсь помочь
Хотел вывести в ленте чать статьи/новости/проч. контента.
В файле шаблона виджета прописалcontent — это поле для текста блога. Ничего не вывелось.
Понял, что нужно задать правило в model.php. подскажите, что прописать, чтобы выводился текст контента.
Спасибо.
В файле шаблона виджета прописал
<?php echo $item['content']; ?>
Понял, что нужно задать правило в model.php. подскажите, что прописать, чтобы выводился текст контента.
Спасибо.
Для версии 2.хх
Ворос закрыт.
Вопрос решен.