Changeset 1460 in products


Ignore:
Timestamp:
Dec 16, 2009 4:03:35 PM (14 years ago)
Author:
liebster
Message:

Rewrite skins srcipt to browser view

Location:
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer
Files:
2 added
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/configure.zcml

    r1313 r1460  
    4545        /> 
    4646 
     47    <browser:page 
     48        name="seo-context-properties" 
     49        for="*" 
     50        class=".views.SEOContextPropertiesView" 
     51        layer=".interfaces.IPloneSEOLayer" 
     52        permission="zope2.View" 
     53        /> 
     54 
    4755</configure> 
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/keywords.py

    r1313 r1460  
    1717        """ see interface """ 
    1818        # extract keywords from text 
     19        import pdb;pdb.set_trace() 
    1920        if not text.strip(): 
    2021            return _(u'Keywords list is empty!') 
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/views.py

    r1313 r1460  
    99SEPERATOR = '|' 
    1010HAS_CANONICAL_PATH = True 
    11  
     11SEO_PREFIX = 'seo_' 
     12PROP_PREFIX = 'qSEO_' 
     13SUFFIX = '_override' 
    1214try: 
    1315    from quintagroup.canonicalpath.interfaces import ICanonicalPath 
     
    294296        """ 
    295297        return self.portal_types.getTypeInfo( type_name ) 
     298 
     299 
     300class SEOContextPropertiesView( BrowserView ): 
     301    """ 
     302    """ 
     303    template = ViewPageTemplateFile('templates/seo_context_properties.pt') 
     304 
     305    def updateSEOProps(self, **kw): 
     306        delete_list, overrides, values = [], [], [] 
     307        seo_items = dict([(k[len(SEO_PREFIX):],v) for k,v in kw.items() if k.startswith(SEO_PREFIX)]) 
     308        for key in seo_items.keys(): 
     309            if key.endswith(SUFFIX): 
     310                overrides.append(key[:-len(SUFFIX)]) 
     311            else: 
     312                values.append(key) 
     313 
     314 
     315        for val in values: 
     316            if val in overrides and seo_items[val+SUFFIX]: 
     317                setProperty(context, PROP_PREFIX+val, seo_items[val]) 
     318            elif context.hasProperty(PROP_PREFIX+val): 
     319                delete_list.append(PROP_PREFIX+val) 
     320        if delete_list: context.manage_delProperties(delete_list) 
     321         
     322    def setProperty(self, property, value, type='string'): 
     323        context = self.context 
     324        if context.hasProperty(property): 
     325            context.manage_changeProperties({property: value}) 
     326        else: 
     327            context.manage_addProperty(property, value, type) 
     328 
     329 
     330    def __call__( self ): 
     331        """ 
     332        """ 
     333        context = aq_inner(self.context) 
     334        request = self.request 
     335        form = self.request.form 
     336        submitted = form.get('form.submitted', False) 
     337        if submitted: 
     338            self.updateSEOProps(**form) 
     339 
     340 
     341#delete_list = [] 
     342 
     343## update custom meta tags 
     344#property_prefix = 'qSEO_custom_' 
     345#custom_existing = [] 
     346#for property, value in context.propertyItems(): 
     347    #if property.find(property_prefix) == 0 and len(property) > len(property_prefix): 
     348        #custom_existing.append(property) 
     349 
     350#globalCustomMetaTags = [] 
     351#site_properties = getToolByName(context, 'portal_properties') 
     352#if hasattr(site_properties, 'seo_properties'): 
     353    #custom_meta_tags = getattr(site_properties.seo_properties, 'default_custom_metatags', []) 
     354    #for tag in custom_meta_tags: 
     355        #name_value = tag.split(SEPERATOR) 
     356        #if name_value[0]: 
     357            #globalCustomMetaTags.append({'meta_name'    : name_value[0], 
     358                                         #'meta_content' : len(name_value) == 1 and '' or name_value[1]}) 
     359 
     360#custom_updated = [] 
     361#for tag in custommetatags: 
     362    #meta_name, meta_content = tag['meta_name'], tag['meta_content'] 
     363    #if meta_name: 
     364        #if not [gmt for gmt in globalCustomMetaTags if (gmt['meta_name']==meta_name and gmt['meta_content']==meta_content)]: 
     365            #setProperty(context, '%s%s' % (property_prefix, meta_name), meta_content) 
     366        #custom_updated.append('%s%s' % (property_prefix, meta_name)) 
     367 
     368##add not updated custom metatags to delete list 
     369#for tag in custom_existing: 
     370    #if tag not in custom_updated: 
     371        #delete_list.append(tag) 
     372 
     373#msg ='Content SEO properties have been saved.' 
     374#try: 
     375    #context.plone_utils.addPortalMessage(msg) 
     376    #return state 
     377#except AttributeError: 
     378    #return state.set(context=context, portal_status_message=msg) 
     379            return request.response.redirect(self.context.absolute_url()) 
     380        else: 
     381            return self.template() 
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/skins/quintagroup.seoptimizer/checkkeywords.js.dtml

    r387 r1460  
    100100} 
    101101 
    102 function addKeywordsButton(event) { 
     102function addSeoKeywordsButton(event) { 
    103103    for (var i = 0, id; id = KEYWORDS_IDS[i]; i++) { 
    104104        var area = document.getElementById(id); 
     
    110110        button.id = id+'_check_keywords'; 
    111111        button.className = 'check-keywords-button'; 
    112         area.parentNode.insertBefore(button, area.nextSibling); 
     112        area.parentNode.insertBefore(button, area.nextSibling.nextSiblin); 
    113113        registerEventListener(button, 'click', checkPageKeywords); 
    114114//         KEYWORDS_REPORT[id] = {}; 
     
    116116} 
    117117 
    118 registerPloneFunction(addKeywordsButton); 
     118registerPloneFunction(addSeoKeywordsButton); 
Note: See TracChangeset for help on using the changeset viewer.