Art Freetmen

Art Freetmen

+25
Репутация
2
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] Как изменить названия полей в профиле 22 июля 2014 в 12:49
/languages/ru/components/users.php
#2 [ЕСТЬ РЕШЕНИЕ] Как узнать какой компонент отображается ? 21 июля 2014 в 19:03
Посмотрел сейчас на название темы и подумал, что, если убрать весь вышеприведенный контекст, то прямым ответом на вопрос будет — по классу..
При инспектировании компонента или модуля в браузере, в большинстве случаев, можно определить его принадлежность по названиям классов вложенных в тело тегов.
#3 Компонент Регистрация. Как сделать обязательным поле ? 21 июля 2014 в 18:41
Хм… а все таки… Как? Я несколько часов рыл движок… Не нашел… Мне кажется тут дело хитрое..
Что удалось накопать: существует некое глобальное понятие "обязательность", встречается в виде слова mustbe.
#4 [ЕСТЬ РЕШЕНИЕ] Компоненты Поиск 21 июля 2014 в 18:21
Получилось.. Ура, господа! Правда, пришлось пошаманить с tpl… Sonat, спасибо… Подсказки помогли..
Решение получилось следующее:
Компонент поиска править не пришлось… Скопирован модуль module.tpl
Две его копии названы module_search_content.tpl и module_search_catalog.tpl
В файлах, вместо {$mod.body} добавлен код из mod_search.tpl.
Код:
  1. {foreach key=tid item=enable_component from=$enable_components}
  2. <label id="l_{$enable_component.link}" class="selected">
  3. <input name="from_component[]" onclick="toggleInput('l_{$enable_component.link}')" type="checkbox" value="{$enable_component.link}"
  4. checked="checked" />
  5. {$enable_component.title}
  6. </label>
  7. {/foreach}
в файле module_search_content.tpl заменен на
  1. <label id="l_content" class="selected" style="display:none;"><input name="from_component[]" type="checkbox" value="content" checked="checked">Статьи</label>
а в файле module_search_catalog.tpl заменен на
  1. <label id="l_catalog" class="selected" style="display:none;"><input name="from_component[]" type="checkbox" value="catalog" checked="checked">Статьи</label>
Далее, в админке были созданы два дубликата модуля "Поиск", названы "Поиск в статьях" и "Поиск в каталоге", добавлены префиксы (у меня один поиск выводится в сайдбаре, а другой в топе, разные стили) searchcont_ и searchcatalog_, в Шаблон модуля выбран соответствующий ему шаблон..

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

Спасибо большое за поддержку!
#5 [ЕСТЬ РЕШЕНИЕ] Компоненты Поиск 21 июля 2014 в 12:54
Согласен, этот вариант проще… Но с модулями, вроде, все в порядке… Мой вариант хоть и сложнее, но работает… Нужный чекбокс стоит там, где надо, ненужные все отключены..
Вопрос в другом… После поиска он перенаправляет с модуля на компонент.. Я вот думаю, может быть как-то, при переходе от модуля к результатам поиска, передать поисковому компоненту переменную со значением value выбранного чекбокса? Ведь модуль передает компоненту слово! Значит, это возможно! Но как?
Т.к. я почти полный нуб в пхп и в архитектуре инстанта, я не могу понять как можно обмениваться переменными…
#1 Компонент Регистрация. Как сделать обязательным поле ? 21 июля 2014 в 05:34
Вопрос… Как на форме регистрации сделать обязательным для заполнения поле "Город:"?
#6 Вывести в поиске Картинки. Возможно ли? 21 июля 2014 в 02:38

Просто нужно доработать вывод компонента search и доработать каждый поисковый файл компонента.

maxisoft
хм… здорово! а можно подробней, как доработать? Что нужно добавить в код?
#7 [ЕСТЬ РЕШЕНИЕ] Компоненты Поиск 21 июля 2014 в 02:25

Скорее всего, "настроить" можно в шаблоне модуля скрыв и выставив нужные input name в состояние checked.

Sonat
Пробовал уже… Добавил в код условие, чтоб поставился чек только на нужное (здесь это "3D-модели"):
  1. <div class="search_select_component">
  2. {foreach key=tid item=enable_component from=$enable_components}
  3. <label id="l_{$enable_component.link}" class="selected">
  4. <input name="from_component[]" onclick="toggleInput('l_{$enable_component.link}')" type="checkbox" value="{$enable_component.link}" {if $enable_component.title=="3D-Модели"} checked="checked"{/if}/>
  5. {$enable_component.title}
  6. </label>
  7. {/foreach}
  8. </div>
Работает… Чек бокс на поиске проставился где надо… Но! Жмем поиск, и попадаем на страничку компонета "Поиск", где уже все по другому… Чек-боксы стоят все..
Ну чтож… правим компонент… Код для поиска по компоненту "3D-Модели":
  1. {foreach key=tid item=enable_component from=$enable_components}
  2. {if $col==1} <tr> {/if}
  3. <td width="">
  4. <label id="l_{$enable_component.link}" {if in_array($enable_component.link, $from_component) || !$from_component}class="selected"{/if}>
  5. <input name="from_component[]" onclick="toggleInput('l_{$enable_component.link}')" type="checkbox" value="{$enable_component.link}" {if in_array($enable_component.link, $from_component) || !$from_component} {if $enable_component.title=="3D-Модели"} checked="checked"{/if} {/if} />
  6. {$enable_component.title}
  7. </label>
  8. </td>
  9. {if $col==5} </tr> {assign var="col" value="1"} {else} {math equation="x + 1" x=$col assign="col"} {/if}
  10. {/foreach}
Ну теперь, вроде все работает, но вот вопрос… Как быть с поиском по остальным компонентам… Например по статьям? Блогам?
#1 [ЕСТЬ РЕШЕНИЕ] Компоненты Поиск 21 июля 2014 в 00:58
Решаю вот, такую задачку: Независимые друг от друга поисковики… Один всегда ищет только в статьях… Другой ищет только в каталоге… Третий ищет исключительно только в блогах..

Каким образом можно осуществить такое?
#8 [ЕСТЬ РЕШЕНИЕ] Как узнать какой компонент отображается ? 21 июля 2014 в 00:17
Val, спасибо за код, пригодится… Иногда ситуации бывают посложней…

С подключенным jQuery.

Val
А jQuery в инстанте разве не подключены?
#9 [ЕСТЬ РЕШЕНИЕ] Как узнать какой компонент отображается ? 21 июля 2014 в 00:07
Raiden, Спасибо, помогло! Все гениальное — просто! AlexWerner, тоже говорил про padding, куда глядели мои глаза? facepalmsmile

Может есть простое решение и для этого ?

Как можно компонеты вывести в сайдбаре ?

freet
Если решение сложное, то все равно очень интересно…
#10 [ЕСТЬ РЕШЕНИЕ] Как узнать какой компонент отображается ? 20 июля 2014 в 23:50
  1. <?php $this->printModules('позиция'); ?>
Нету..

В шаблоне template.php прописано условие на вывод компонента:
  1. <?php if($this->page_body){ ?>
  2. <div class="component">
  3. <?php $this->printBody(); ?>
  4. </div>
  5. <?php } ?>
Может к нему возможно добавить еще какое условие?
#11 [ЕСТЬ РЕШЕНИЕ] Как узнать какой компонент отображается ? 20 июля 2014 в 23:44
Sonat, у меня стоит в настройках "без компонента"..
Проблема скорее в том, что пустой див компонента был задуман разработчиками невидимым… А я повесил на него стили, теперь он видим… Приходят на ум только 2 решения, но они грубы: 1-е) Убрать стиль с компонента, так что-бы он стал снова невидим… 2-е) поставить префикс css компоненту, и скрыть его нафиг целиком… smile
#12 [ЕСТЬ РЕШЕНИЕ] Как узнать какой компонент отображается ? 20 июля 2014 в 23:35
Ссылка на сайт

Пока только одно решение нашел… Пододвинул его чуть выше, чтоб он слился с модулем, чтобы его не было видно… smile

Но вот здесь его уже так не скроешь..

Еще один вопрос, если кто знает… Как можно компонеты вывести в сайдбаре ?
#1 [ЕСТЬ РЕШЕНИЕ] Как узнать какой компонент отображается ? 20 июля 2014 в 23:05


Что это за компонет, как можно узнать… ?

Страничка "Главная"
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.