Skip to content

Commit 949f3f1

Browse files
author
rduivenvoorde
committedJun 11, 2010
fix for #2726 labels no labels in mapserverexport
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@13708 c8812cc2-4d05-0410-92ff-de0c093fc19c

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed
 

‎python/plugins/mapserver_export/ms_export.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -589,18 +589,24 @@ def writeMapLayers(self):
589589
layer_def += " MINSCALE " + minscale + "\n"
590590
if maxscale > '':
591591
layer_def += " MAXSCALE " + maxscale + "\n"
592-
593-
594592
# Check for label field (ie LABELITEM) and label status
595593
try:
596-
labelOn = lyr.getElementsByTagName( "label")[0].childNodes[0].nodeValue.encode('utf-8')
597-
labelField = lyr.getElementsByTagName("labelfield")[0].childNodes[0].nodeValue.encode('utf-8')
598-
if labelField != '' and labelField is not None and labelOn == "1":
594+
labelElements = lyr.getElementsByTagName("label")
595+
labelOn = '0'
596+
labelField = None
597+
# there are actually 3 different label-element in a layer element:
598+
for element in labelElements:
599+
labelParent = element.parentNode.localName
600+
if labelParent == 'maplayer':
601+
labelOn = element.childNodes[0].nodeValue.encode('utf-8')
602+
if labelParent == 'labelattributes':
603+
labelField = element.getAttribute('fieldname').encode('utf-8')
604+
if labelField != '' and labelField is not None and labelOn == "1" and labelOn is not None:
599605
layer_def += " LABELITEM '" + labelField + "'\n"
600606
except:
601607
# no labels
602608
pass
603-
609+
604610
# write the CLASS section for rendering
605611
# First see if there is a single symbol renderer
606612
if lyr.getElementsByTagName("singlesymbol").length > 0:

0 commit comments

Comments
 (0)
Please sign in to comment.