[Chameleon] date filter
Dirk Jesko
ml.dje at geocontent.de
Wed Nov 2 10:13:41 EST 2005
Jason,
Perfect! I set the status attribute directly and not via the set
function. That way the status is set to 1 (MS_ON), but the layer is not
displayed. Now it works.
Thanks for the hint.
Regards,
Dirk
Jason Fournier wrote:
> Dirk,
>
> Three shouldn't be anything else you need to set - you should be able
> to do the following:
>
> $oMap = $oApp->moMapSession->oMap;
>
> $oLayer = @$oMap->getLayerByName( 'LAYERNAME' );
> $oLayer->set( 'status', MS_ON );
>
> Note that, according to our example below, tis should happen in the
> CWCProcessURL function. Setting status before this point in the
> initialization file will (most likely) result in an unaffected layer.
>
> This didn't work? Instead of using set can you echo out some
> attributes of the layer (eg, $oLayer->name) ?
>
> Best Regards,
> Jason
>
>
>
> Dirk Jesko wrote:
>
>> Dear Jason,
>>
>> I was looking for such a solution too. Thanks.
>>
>> Now I have another question: Is it also possible to change the status
>> of a layer at this point? I would like to activate/deactivate a layer
>> based on the value of some form field. I tried to set the value of
>> the layer's status field to MS_ON, but it did not work. Is there
>> something else inside Chameleon that needs to be set, if a layer
>> should be activated/deactivated?
>>
>> Regards,
>> Dirk
>>
>>
>>
>> Jason Fournier wrote:
>>
>>> Danna,
>>>
>>> If I understand correctly I think one way to approach this is to add
>>> custom code in index.phtml handle the layer selection process. In
>>> your index.phtml you have something like the following:
>>>
>>> class SampleApp extends Chameleon
>>> {
>>>
>>> function SampleApp()
>>> {
>>> parent::Chameleon();
>>> $this->moMapSession = new MapSession_RW;
>>> $this->moMapSession->setTempDir( getSessionSavePath());
>>> }
>>>
>>> function CWCProcessURL(&$oHTTPFormVars)
>>> {
>>> $bRes = parent::CWCProcessURL($oHTTPFormVars);
>>> // include any kind of execute processing here ...
>>> return $bRes;
>>> }
>>>
>>> }
>>>
>>> The function CWCProcessURL (which I don't think is there by default)
>>> is where you can execute PHP MapScript to affect the state of the
>>> current session mapfile (after $bRes is declared and before $bRes is
>>> returned). So, for instance, you can get the value of your
>>> dropdown, cycle through the mapfile layers, and perform whichever
>>> action you deem necessary on that layer (eg, visibility, expression,
>>> add classes, etc):
>>>
>>> $value = $_REQUEST['dropdown'];
>>> if( $value == 1990 )
>>> {
>>> $oMap = $oApp->moMapSession->oMap;
>>> $nMapLayers = $oMap->numlayers;
>>> for($i=0;$i<$nMapLayers;$i++)
>>> {
>>> $oLayer = $oMap->getLayer($i);
>>> //etc etc
>>> }
>>> }
>>>
>>> Replace or modify the above code with your own. You may want to
>>> keep an array of layers to turn on for a given dropdown value then
>>> write some generic code to handle it - would save you time in the
>>> long run.
>>>
>>> Is this what you were going after?
>>>
>>> Best Regards,
>>> Jason
>>>
>>>
>>>
>>>
>>> Danna Dowdy wrote:
>>>
>>>> I have found where I can use set FILTER in the map file dynamically
>>>> using a form or a url variable but am still not sure how to get
>>>> those variables passed from chameleon??
>>>>
>>>> Danna Dowdy wrote:
>>>>
>>>>> I am working on a basic mapping application that currently
>>>>> displays data from a spatial database based on variable
>>>>> groupings. I have individual views set up for each individual
>>>>> layer. I would like to add a drop down menu somewhere on the
>>>>> interface so that the user could select a year and plot whatever
>>>>> layers are chosen for that particular year. The date field is in
>>>>> the database. Could someone point me in the right direction of
>>>>> how to do this?
>>>>> _______________________________________________
>>>>> Chameleon mailing list
>>>>> Chameleon at lists.maptools.org
>>>>> http://lists.maptools.org/mailman/listinfo/chameleon
>>>>>
>>>>
>>>> _______________________________________________
>>>> Chameleon mailing list
>>>> Chameleon at lists.maptools.org
>>>> http://lists.maptools.org/mailman/listinfo/chameleon
>>>>
>>>
>>
>> _______________________________________________
>> Chameleon mailing list
>> Chameleon at lists.maptools.org
>> http://lists.maptools.org/mailman/listinfo/chameleon
>>
>
More information about the Chameleon
mailing list