Changeset 1600 in products for quintagroup.seoptimizer


Ignore:
Timestamp:
Jan 28, 2010 4:40:23 PM (14 years ago)
Author:
liebster
Message:

implementation setup using keywords override

Location:
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/templates/seo_controlpanel.pt

    r1580 r1600  
    100100                                      checked python:view.select_settings_use_keywords_sg()==1"/> 
    101101              <label for="" 
    102                      tal:attributes="for string:sg1">Override Subject by global seo keywords</label> 
     102                     tal:attributes="for string:sg1">Subject overrides global seo keywords</label> 
    103103              <br/> 
    104104              <input  type="radio" 
     
    108108                                      checked python:view.select_settings_use_keywords_sg()==2"/> 
    109109              <label for="" 
    110                      tal:attributes="for string:sg2">Override global seo keywords by Subject</label> 
     110                     tal:attributes="for string:sg2">Global seo keywords override Subject</label> 
    111111              <br/> 
    112112              <input  type="radio" 
     
    116116                                      checked python:view.select_settings_use_keywords_sg()==3"/> 
    117117              <label for="" 
    118                      tal:attributes="for string:sg3">Merge global and local seo keywords</label> 
     118                     tal:attributes="for string:sg3">Merge Subject and global seo keywords</label> 
    119119          </div> 
    120120 
     
    132132                                      checked python:view.select_settings_use_keywords_lg()==1"/> 
    133133              <label for="" 
    134                      tal:attributes="for string:lg1">Override global by local seo keywords</label> 
     134                     tal:attributes="for string:lg1">Global override local seo keywords</label> 
    135135              <br/> 
    136136              <input  type="radio" 
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/views.py

    r1580 r1600  
    145145        """ 
    146146        prop_name = 'qSEO_keywords' 
    147         add_keywords = 'additional_keywords' 
    148147        accessor = 'Subject' 
    149148        context = aq_inner(self.context) 
    150149        keywords = Set([]) 
    151         if context.hasProperty(prop_name): 
    152             keywords = Set(context.getProperty(prop_name)) 
    153  
    154150        pprops = getToolByName(context, 'portal_properties') 
    155151        sheet = getattr(pprops, 'seo_properties', None) 
    156         if sheet and sheet.hasProperty(add_keywords): 
    157             keywords = keywords | Set(sheet.getProperty(add_keywords)) 
    158  
    159         if keywords: 
    160             return keywords 
    161  
    162152        method = getattr(context, accessor, None) 
    163153        if not callable(method): 
     
    166156        # Catch AttributeErrors raised by some AT applications 
    167157        try: 
    168             value = method() 
     158            subject = Set(method()) 
    169159        except AttributeError: 
    170             value = None 
    171  
    172         return value 
     160            subject = keywords 
     161 
     162        if sheet: 
     163          settings_use_keywords_sg = sheet.getProperty('settings_use_keywords_sg') 
     164          settings_use_keywords_lg = sheet.getProperty('settings_use_keywords_lg') 
     165          global_keywords = Set(sheet.getProperty('additional_keywords', None)) 
     166          local_keywords = Set(context.getProperty(prop_name, None)) 
     167          # Subject overrides global seo keywords and global overrides local seo keywords 
     168          if [settings_use_keywords_sg, settings_use_keywords_lg] == [1, 1]: 
     169              keywords = subject 
     170          # Subject overrides global seo keywords and merge global and local seo keywords 
     171          elif [settings_use_keywords_sg, settings_use_keywords_lg] == [1, 2]: 
     172              keywords = subject | local_keywords 
     173          # Global seo keywords overrides Subject and global overrides local seo keywords 
     174          elif [settings_use_keywords_sg, settings_use_keywords_lg] == [2, 1]: 
     175              #import pdb;pdb.set_trace() 
     176              keywords = global_keywords 
     177          # Global seo keywords overrides Subject and merge global and local seo keywords 
     178          elif [settings_use_keywords_sg, settings_use_keywords_lg] == [2, 2]: 
     179              keywords = global_keywords | local_keywords 
     180          # Merge Subject and global seo keywords and global overrides local seo keywords 
     181          elif [settings_use_keywords_sg, settings_use_keywords_lg] == [3, 1]: 
     182              keywords = subject | global_keywords 
     183          # Merge Subject and global seo keywords and merge global and local seo keywords 
     184          elif [settings_use_keywords_sg, settings_use_keywords_lg] == [3, 2]: 
     185              keywords = subject | global_keywords | local_keywords 
     186          else: 
     187              keywords = subject 
     188        else: 
     189            keywords = subject 
     190 
     191        return keywords 
    173192 
    174193    def seo_canonical( self ): 
Note: See TracChangeset for help on using the changeset viewer.