× Please submit new Bug Reports on GitHub: github.com/Jensen-Technologies/component-creator-issues/issues

PHP in filter xml

il y a 8 ans 9 mois #1190 par Mekalb
PHP in filter xml a été créé par Mekalb
Good Morning,

I'm creating a filter for one of my forms. I'm currently using php to get the userId, and use that to filter a foreign key.
As you can see below, the code I am using is <?php echo 89; ?> (I've hard-coded it for testing purposes).

Sadly this is not working. Anyone know what I'm doing wrong? Is there a way to do it only via xml?

Thanks.

component_name/models/forms/myform.xml

<field name="filter_firstname" type="sql" class="inputbox"
onchange="this.form.submit();"
query="SELECT 0 AS `created_by`, '- Please select First name -' AS `first_name` UNION SELECT `created_by`, `first_name` FROM `#__applicationportal_names` WHERE `created_by`=<?php echo 89; ?>" key_field="created_by" value_field="first_name"
/>

Connexion ou Créer un compte pour participer à la conversation.

il y a 8 ans 9 mois #1195 par Mekalb
Réponse de Mekalb sur le sujet PHP in filter xml
Here is the solution if anyone else is interested.

/models/fields/foreignkey.php

Navigate to:

$query->select(
array(
$db->quoteName($this->key_field),
$db->quoteName($this->value_field)
)
)->from($this->table);

//Add the following code to append condition to the query.

if ($this->getAttribute('name') == 'firstname')
{
$query->where($db->quoteName('created_by') . ' = ' . (int) JFactory::getUser()->id);
}


Thanks to CC guys for the solution.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.051 secondes
Propulsé par Kunena

We use cookies so that you can place orders and we can provide a better service. You can control the use of cookies at the individual browser level. If you reject cookies, you may still use our website, but your ability to use some features or areas of our website may be limited.