Changeset 1460 in products
- Timestamp:
- Dec 16, 2009 4:03:35 PM (14 years ago)
- 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 45 45 /> 46 46 47 <browser:page 48 name="seo-context-properties" 49 for="*" 50 class=".views.SEOContextPropertiesView" 51 layer=".interfaces.IPloneSEOLayer" 52 permission="zope2.View" 53 /> 54 47 55 </configure> -
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/keywords.py
r1313 r1460 17 17 """ see interface """ 18 18 # extract keywords from text 19 import pdb;pdb.set_trace() 19 20 if not text.strip(): 20 21 return _(u'Keywords list is empty!') -
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/views.py
r1313 r1460 9 9 SEPERATOR = '|' 10 10 HAS_CANONICAL_PATH = True 11 11 SEO_PREFIX = 'seo_' 12 PROP_PREFIX = 'qSEO_' 13 SUFFIX = '_override' 12 14 try: 13 15 from quintagroup.canonicalpath.interfaces import ICanonicalPath … … 294 296 """ 295 297 return self.portal_types.getTypeInfo( type_name ) 298 299 300 class 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 100 100 } 101 101 102 function add KeywordsButton(event) {102 function addSeoKeywordsButton(event) { 103 103 for (var i = 0, id; id = KEYWORDS_IDS[i]; i++) { 104 104 var area = document.getElementById(id); … … 110 110 button.id = id+'_check_keywords'; 111 111 button.className = 'check-keywords-button'; 112 area.parentNode.insertBefore(button, area.nextSibling );112 area.parentNode.insertBefore(button, area.nextSibling.nextSiblin); 113 113 registerEventListener(button, 'click', checkPageKeywords); 114 114 // KEYWORDS_REPORT[id] = {}; … … 116 116 } 117 117 118 registerPloneFunction(add KeywordsButton);118 registerPloneFunction(addSeoKeywordsButton);
Note: See TracChangeset
for help on using the changeset viewer.