![]() |
||||
|
|
||||
[Chameleon] LegendTemplate WidgetRene Teniere TENIERER@gov.ns.caMon, 12 Jan 2004 11:53:24 -0400
|
||||
Paul,
Well... Here goes, did a little digging and this is what I came up
with. You can be the judge of the results:
function InitDefaults()
{
if (isset($this->maParams["EMBEDDED"]) &&
strcasecmp(trim($this->maParams["EMBEDDED"]), "FALSE") ==
0)
{
$this->moTextButton = new CWCTextButton($this);
$this->moPopup = new CWCPopup($this);
$this->moPopup->mszLink =
"widgets/LegendTemplatePopup.phtml";
$this->moTextButton->InitDefaults();
echo 'step1 ';
}
if (isset($this->maParams["TEMPLATE"]))
{
echo 'step2 ';
$this->mszTemplate = trim($this->maParams["TEMPLATE"]);
print($this->maParams["TEMPLATE"]);
//TEMPLATE is relative to the application template, not the
map file :)
print($this->mszTemplate);
if (strcmp(substr($this->mszTemplate, 0, 1), "/") ||
strcmp(substr($this->mszTemplate, 1, 1), ":") ||
strcmp(substr($this->mszTemplate, 0, 1), "\\") )
{
$oChameleon = GetChameleonApplication();
$szTemplatePath =
dirname($oChameleon->mszTemplateName);
$this->mszTemplate =
realpath($szTemplatePath."/".$this->mszTemplate);
echo ' not HTTP:// ';
print($this->mszTemplate);
}
if (strtoupper(substr($this->mszTemplate, 0, 7)) ==
"http://")
{
echo 'step3 ';
$aszFile = file($this->mszTemplate);
$szTmpName = tempnam($_SESSION['gszTmpPath'],
"legendtemplate").".html";
$fh = fopen($szTmpName, "w");
$nbLine = count($aszFile);
for($i=0; $i<$nbLine; $i++)
{
fwrite($fh, $aszFile[$i]);
}
fclose($fh);
$this->mszTemplate = $szTmpName;
print($this->mszTemplate);
}
}
}
Here is the output:
step1
step2
c:/chameleon11a/websites/template/legend_template.html
c:/chameleon11a/websites/template/legend_template.html
not HTTP://
Also, here is another error message:
PHP Notice: Use of undefined constant ERR_ERROR - assumed 'ERR_ERROR'
in c:\chameleon11a\htdocs\widgets\LegendTemplate.widget.php on line 372
P.S. I know the template is pointed into the right direction because
when I put 'c:/chameleon11a/websites/template/legend_template.html' into
my web browser, it will show up.
Rene
>>> pagameba@magma.ca 2004-01-12 10:05:53 AM >>>
Rene,
for some reason, it is not finding your template but I can't figure out
why not. You can try setting the template as an HTTP:// reference, the
code also handles that. You can also try adding 'embedded="false"' to
the widget, which will make the legend appear in a popup when you click
the text button. That does mean that you will need to provide some
additional parameters for the popup and textbutton though.
Unfortunately, it seems to work fine here. Are you willing to dig into
the code a little bit? If yes, the you can edit the
LegendTemplate.widget.php file in the InitDefaults function and place
some echo statements at various places to see which code is executing,
ie echo 'step 1'; echo 'step 2'; and so on.
The basic purpose of this is to find out where the code ends up setting
the variable $this->mszTemplate to an empty string (or fails to set it
to the correct value).
Cheers,
Paul
Rene Teniere wrote:
> Hi All,
>
> Can't seem to be able to get the LegendTemplate Widget to work.
> ErrorReport says that no legend template is specified, even though
it
> is. The template is a standard MapServer legend template format, and
I
> have used several different ones, as well as
> legend_template_widget.html. I have also tried removing the template
> reference in the mapfile with no results. Anyone know what's up with
> this? I've been working on this for two days and am starting to pull
my
> hair out.
>
> Rene
>
> <cwc2 type="legendtemplate" visible="true" enabled="true"
>
template="C:/chameleon11a/websites/template/legend_template_chameleon.html"/>
>
>
> Rene J.R. Teniere - BSc., D.GIS
> GIS Technician
> Nova Scotia Department of Natural Resources
> Forestry Division (GIS) - Truro
>
> Phone: (902) 893-5655
> Mobile: (902) 209-8956
> _______________________________________________
> Chameleon mailing list
> Chameleon@lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/chameleon
>
--
-----------------------------------------------------------------
|Paul Spencer spencer@dmsolutions.ca |
|-----------------------------------------------------------------|
|Applications & Software Development |
|DM Solutions Group Inc http://www.dmsolutions.ca/|
-----------------------------------------------------------------
_______________________________________________
Chameleon mailing list
Chameleon@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/chameleon
This archive was generated by Pipermail. |
MapTools.org -- Hosted by DM Solutions Group |