1

我正在玩 joomla com_menus/models/forms/item.xml 文件。

我想使用此处 joomla 文档中所述的 SQL 表单字段类型的功能。

http://docs.joomla.org/SQL_form_field_type

但我似乎无法弄清楚如何获得不止一个价值。

我的代码是这样的:

<field 

    name="link" 
    type="sql" 
    default="" 
    class="articleselectbox" 
    label="Select an article" 

    query="

    SELECT #__content.id, #__content.alias, #__content.title, #__content.catid, #__categories.id, #__categories.alias 

    FROM 

    #__content 

    LEFT JOIN #__categories ON #__content.catid=#__categories.id 

    ORDER BY #__content.title" 

    key_field="alias" 

    value_field="catid" /> 

我需要的是作为最终值:

#__categories.alias / #__content.id - #__content.alias . html

所以输出将是:

poultry/12-organic-chicken-farming.html

我可以得到一个值,但文档描述了如何检索更多的值。

有人对如何实现这一点有任何想法吗?

干杯。强尼

4

2 回答 2

0

Sql field type creates a dropdown so you can only select one value you can concat the values from sql. As per my understanding this may help-

<field 
    name="link" 
    type="sql" 
    default="" 
    class="articleselectbox" 
    label="Select an article"
    query="SELECT 
    concat(#__categories.alias, '/', #__content.id,'-', #__content.alias,'.html') as value,              
    concat(#__categories.alias, '/', #__content.id,'-', #__content.alias,'.html') as title 
    FROM #__content 
    LEFT JOIN #__categories ON #__content.catid=#__categories.id 
    ORDER BY #__content.title" 
    key_field="title" 
    value_field="value" 
/> 
于 2012-10-04T04:46:16.727 回答
0

    name="link"
    type="sql"
    multiple="false"
    size="1"
    label="Select an article "
    query="SELECT 
concat(#__categories.alias, '/', #__content.id,'-', #__content.alias,'.html') as value,              
concat(#__categories.alias, '/', #__content.id,'-', #__content.alias,'.html') as title 
FROM #__content 
LEFT JOIN #__categories ON #__content.catid=#__categories.id 
ORDER BY #__content.title"
    key_field="title"
    value_field="name"
    default="0"
    required="true"
    >
        <option value="">JOPTION_SELECT_LINK</option>
</field>

现在它将显示所有

于 2015-01-12T09:25:24.313 回答