Не получается заставить заголовок модуля быть ссылкой

  • 7 Ответов
  • 173 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

skitale

  • **
  • 22
  • 0
Добрый день.
Нашел вот тут - http://joomlaforum.ru/index.php/topic,274824.0.html - код для того чтобы сделать заголовок модуля ссылкой.
У меня после всех манипуляций перестали применяться суффиксы класса модуля.
Вот код оригинала:
Спойлер
[свернуть]
Автор ипользует для хранения ссылки поле суффиксов. По ходу дела он его парсит и всё ок, но вот у меня модуль не хочет воспринимать всё что пишется дальше в поле (то есть не принимает больше суффиксы вообще). Я в php плохо разбираюсь, но все же попытался использовать поле "Note" у модуля - к сожалению безуспешно. Вот такой код не работает:
Код
<?php echo $note->value; ?> 

В коде сайта админки данное поле светится так:
Код
<input name="jform[note]" id="jform_note" value="Это поле заметки" class="span12" size="40" maxlength="255" type="text">
но я видимо как-то неверно обращаюсь к нему.

Подскажите, пожалуйста, что делаю не так? Спасибо

« Последнее редактирование: 01.06.2017, 02:38:19 от skitale »

*

NewUsers

  • *****
  • 578
  • 46
Подскажите, пожалуйста, что делаю не так? Спасибо

значение note храниться в переменной $module
Код: php
<?php echo $module->note; ?>

*

effrit

  • *****
  • 7441
  • 815
  • effrit.com
судя по этому:
Код
$sfx = explode("\n", $sfx);
поле суффикса в вашем случае надо заполнить ссылкой, нажать Enter и потом забить суффиксы.
т.е. делителем выступает символ "Конец строки"
но если хотите, можете свой символ разделения поставить. знак "*", к примеру.
и поменять
Код
$sfx = explode("\n", $sfx);
на
Код
$sfx = explode("*", $sfx);

а поле заполнить
Код
mylink.html*mySuff1

*

skitale

  • **
  • 22
  • 0
Попробовал и так и эдак - не хочет работать. :(
Ставил разделителями и пробел и прямую черту (|) - сама ссылка работает, но вот всё что идет после нее - не действует.

Есть ли еще какой-то способ сделать заголовок модуля ссылкой?

*

effrit

  • *****
  • 7441
  • 815
  • effrit.com
ну так это хорошая задача чтобы поиграться и поучиться азам программинга.

вот тут идет проверка на наличие суффикса (проверяется, было ли разбиение на 2 строки по спецсимволу, что привело бы к заполнению 2-го элемента массива - $sfx[1])

Код
	if (count($sfx) > 1) {
$params->set('moduleclass_sfx', $sfx[1]);
}

вот тут выводится суффикс
Код
<<?php echo $moduleTag; ?> class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx')); ?><?php echo $moduleClass; ?>">

*

Septdir

  • *******
  • 2138
  • 106
  • JoomlaZen
Вставлю свои пять копеек. Поля надо юзать по назначению, тогда в будущем пробелм не будет. А если нужно поле вставить, то пишете плагинчик и готово
https://docs.joomla.org/Adding_custom_fields_to_core_components_using_a_plugin
XML для com_modules. поле появиться во вкладке дополнительных параметров.
Код: xml
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fields name="params">
<fieldset name="advanced">
<field name="myfield" type="text" label="My field"/>
</fieldset>
</fields>
</form>
А получается так же как и любой другой параметр в modules.php
Код: php
$params->get('myfield')
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen

*

skitale

  • **
  • 22
  • 0
Спасибо за помощь - буду пробовать. Как что - отпишусь

*

Septdir

  • *******
  • 2138
  • 106
  • JoomlaZen
Спасибо за помощь - буду пробовать. Как что - отпишусь
Вот плагин для примера. На всякий звиняюсь, ибо писал под себя и не парился в плане понятности кода и оптимизации для масс
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen