Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

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

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Сайт умер
« : 22.01.2013, 21:00:23 »
Помогите сайт не работает только админка Joomla2.5 + JoomShopping при переходе на сайт белые страницы !
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Сайт умер
« Ответ #1 : 22.01.2013, 21:07:18 »
очень информативно!
дополнить ни чем не хотите свой пост?
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Сайт умер
« Ответ #2 : 22.01.2013, 21:07:22 »
Помогите у меня машина сломалась, только я вам ее не покажу.
Нормально звучит?
...............................
Вы бы хоть версию магазина написали, а то без нее совсем не помочь будет.
Я знаю только то, что ничего не знаю
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #3 : 22.01.2013, 21:18:26 »
Извините Joomla! 2.5.8   JoomShopping Version 3.11.4   сайт www.fifulya.com.ua
 
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Сайт умер
« Ответ #4 : 22.01.2013, 21:35:47 »
ну, рассказывайте - что делали с сайтом?
шаблон на месте?
*

beagler

  • Живу я здесь
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Re: Сайт умер
« Ответ #5 : 22.01.2013, 21:41:33 »
включите в админке в общих настройках максимальный уровень отображения ошибок и покажите нам полученную ошибку
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Сайт умер
« Ответ #6 : 22.01.2013, 21:42:55 »
Очередной вирусный сайт? В последнее время эпидемия какая то. Посмотрите index.php и .htaccess в корне сайта, скажите, что там видите. Вообще страница ведет на пустой index.html, которым защищают директории от просмотра.
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Сайт умер
« Ответ #7 : 22.01.2013, 22:00:45 »
Про версию магазина - это был сарказм, ну да ладно.
У вас действительно страница ведет на заглушку как и написал al-teen, делайте, что он написал ))
Я знаю только то, что ничего не знаю
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Сайт умер
« Ответ #8 : 22.01.2013, 22:11:45 »
а сайт вот тут http://www.fifulya.com.ua/joomla16/tmp/

в принципе все работает, кроме главной http://www.fifulya.com.ua/katalog/product/view/2/48.html
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #9 : 22.01.2013, 22:12:51 »
Сайт изначально ставил 2 раза,  после первой установки осталась папка от пред идущей Joomla16, Index.html  туда и стал сайт отсюда получились корявые ссылки с префиксом Index.html. Потом после долгих мытарств ошибку исправил перенес  сайт в папку www , включил ЧПУ изменил .htaccess (убрал txt) все заработало (тоже была проблема не открывалась Главная(Houm), а остальные работали). Потом хотел поставить аддон для Joomshoppinga mod_jt_jshopping_label_products  и все умерло. Да еще удалял старые ссылки в Менеджер перенаправлений: Ссылки но только выключенные.
Вот .htaccess
Код
##
# @package Joomla
# @copyright Copyright (C) 2005 - 2012 Open Source Matters. All rights reserved.
# @license GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your SEF url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.
Вот index PHP

Код
<?php
/**
 * @package Joomla.Site
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

// Set flag that this is a parent file.
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (file_exists(dirname(__FILE__). '/defines.php')) {
include_once dirname(__FILE__). '/defines.php';
}

if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__FILE__));
require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';

// Mark afterLoad in the profiler.
JDEBUG ? $_PROFILER->mark('afterLoad') : null;

// Instantiate the application.
$app = JFactory::getApplication('site');

// Initialise the application.
$app->initialise();

// Mark afterIntialise in the profiler.
JDEBUG ? $_PROFILER->mark('afterInitialise') : null;

// Route the application.
$app->route();

// Mark afterRoute in the profiler.
JDEBUG ? $_PROFILER->mark('afterRoute') : null;

// Dispatch the application.
$app->dispatch();

// Mark afterDispatch in the profiler.
JDEBUG ? $_PROFILER->mark('afterDispatch') : null;

// Render the application.
$app->render();

// Mark afterRender in the profiler.
JDEBUG ? $_PROFILER->mark('afterRender') : null;

// Return the response.
echo $app;
Показ ошибок включил ничего не вижу или не знаю где смотреть :(
« Последнее редактирование: 22.01.2013, 22:15:22 от ELLE »
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Сайт умер
« Ответ #10 : 22.01.2013, 22:28:37 »
Посмотрите там же файл index.html. Есть он там? В корне.
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #11 : 22.01.2013, 22:36:16 »
Вот Index.html
html><body bgcolor="#FFFFFF"></body></html>
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Сайт умер
« Ответ #12 : 22.01.2013, 22:43:19 »
Удалите его. И больше никому не рассказывайте, как сайт сам по себе вдруг перестал работать, когда вы там ну совсем ничего не делали.
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #13 : 22.01.2013, 22:47:52 »
Файл удалить Index.html? Т.е он там не нужен вообще?
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Сайт умер
« Ответ #14 : 22.01.2013, 22:56:15 »
Нет. Его там не должно быть вообще. Для браузера файл index.html имеет больший приоритет, нежели index.php. ВЫ что то не туда распаковали. Не туда - это в корень сайта. Обычно заглушки идут во внутренних директориях. Но никак не в корневой сайта.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Сайт умер
« Ответ #15 : 22.01.2013, 22:59:04 »
Я говорю именно про корневую директорию сайта. Если сам сайт расположен где то в joomla16/tmp/, то папка joomla16/tmp и является для этого сайта корневой.
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #16 : 22.01.2013, 23:05:24 »
 Нет сайт в папке www честно говоря я в этом плохо разбираюсь просто я после того как сайт перестал работать попытался его восстановить из бэкапа а бэкап со старого когда он в Joomla16 может оттуда этот файл выскочил в общем чем дальше в лес тем больше дров.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Сайт умер
« Ответ #17 : 22.01.2013, 23:08:21 »
ставить шаблона скачанные JOОMLANA.com (отличный турецкий поставщик шары) = потом иметь болезненые ощущения в одном из проходов.

Даже если сейчас зачистите, нужно будет все просматривать.... в сайте начниет с шаблона все подозрительное и ненужно килять.
также если хостинг нормальный прогоните антивирусом..
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Сайт умер
« Ответ #18 : 22.01.2013, 23:10:20 »
так вы его удалили, или нет? index.html
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #19 : 22.01.2013, 23:14:40 »
Удалил, не работает только главная из админки и на сайте если нажать переход на главную. Шаблон делал сам в Артистир, хостинг AVAхост
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Сайт умер
« Ответ #20 : 22.01.2013, 23:32:24 »
я особенный или восстановили ?
потому что у меня все работает http://www.fifulya.com.ua/

П.С.
Если шаблон делали сами и ничего не ставили варезного...
стучите хостерам пусть проверяют сервак и все сайты соседи.
может Вас заразили...
но это если ничего варезного не ставили...
еси ставилли надо вспоминать что и высматривать там что есть внутри лишнего или лучше вообще снести.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
Re: Сайт умер
« Ответ #21 : 22.01.2013, 23:36:23 »
Пашет, но пусть владелец посмотрит на свой сайт не на широком мониторе... Отображается не ахти
Кривизна рук не компенсирует прямизну извилин.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Сайт умер
« Ответ #22 : 22.01.2013, 23:40:33 »
я особенный или восстановили ?
потому что у меня все работает http://www.fifulya.com.ua/

П.С.
Если шаблон делали сами и ничего не ставили варезного...
стучите хостерам пусть проверяют сервак и все сайты соседи.
может Вас заразили...
но это если ничего варезного не ставили...
еси ставилли надо вспоминать что и высматривать там что есть внутри лишнего или лучше вообще снести.
У него index.html валялся в корне сайта. Им и "заразился".
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Сайт умер
« Ответ #23 : 22.01.2013, 23:45:11 »
ааа..... :)
малой кровью обошлось...
мои поздравления...

но все равно проверить не помешает. кудой-то же залезло...
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #24 : 22.01.2013, 23:49:01 »
Бляха-муха ураааа опять работает да шож это за фигня такая? Я после сообщения nevigen почистил кэш браузера вроде работает :D . А что значит варезные (платные-ломаные)?  У меня ноут 15" вроде экран не большой Rex_One обьясните что имеете в виду?  Да и откуда этот index.html туда попал? Мне на хосте перебросили из папки в папку вроде все заработало а потом бац и приехали.
Да и ещё вопрос по Менеджер перенаправлений: Ссылки - выключенные ссылки нужно удалять или нет?
« Последнее редактирование: 23.01.2013, 00:22:32 от rifys »
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Сайт умер
« Ответ #25 : 23.01.2013, 11:13:08 »
Щас уже неизвестно откуда он там взялся. По варезу почитайте тему Не используйте варез!
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #26 : 23.01.2013, 15:25:44 »
Спасибо, про варез почитал . Есть вопрос по модулю Менеджер перенаправлений: Ссылки.  Нужно ли удалять отключенные ссылки? Хотел скрин приложить не найду как вставить в сообщение.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Сайт умер
« Ответ #27 : 23.01.2013, 15:51:11 »
rifys, прочитайте правила форума.
один вопрос = одна тема.
тем более, что поиск по форуму работает, есть FAQ
*

rifys

  • Захожу иногда
  • 113
  • 0 / 0
Re: Сайт умер
« Ответ #28 : 23.01.2013, 15:56:45 »
Простите исправлюсь ::)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Внезапно стал тормозить сайт

Автор Senturov

Ответов: 17
Просмотров: 1329
Последний ответ 21.06.2017, 10:47:13
от dmitry_stas
Пропал магазин в админке, сайт работает

Автор tochcha

Ответов: 6
Просмотров: 1217
Последний ответ 03.04.2016, 22:28:10
от tochcha
Перенос магазина на другой сайт

Автор 12mv

Ответов: 8
Просмотров: 4062
Последний ответ 19.10.2013, 20:17:13
от nevigen
Многоязычный сайт с использованием joomshoping

Автор holm

Ответов: 2
Просмотров: 1260
Последний ответ 29.07.2013, 14:12:54
от holm
Вставка кнопки "Поделиться" на сайт

Автор Anechka78

Ответов: 5
Просмотров: 5239
Последний ответ 20.02.2013, 21:16:22
от nevigen