diff --git a/meta/models.py b/meta/models.py index d237a059..972d540a 100644 --- a/meta/models.py +++ b/meta/models.py @@ -60,7 +60,14 @@ class MetaSetting(TranslatableModel): h1=models.CharField(max_length=255, blank=True), ) # params that handles for objects - object_params = {'object_name': 'name', 'object_title': 'main_title', 'city': 'city', 'country': 'country'} + object_params = { + 'object_name': 'name', + 'object_title': 'main_title', + 'object_title_l': lambda obj: obj.main_title[:1].lower() + obj.main_title[1:] if obj.main_title else '', + 'city': 'city', + 'country': 'country', + + } # default params params = {'month': get_month_inflect, 'country': get_obj_inflect, 'city': get_obj_inflect, 'theme': get_theme_inflect, 'tag': get_tag_inflect} @@ -85,7 +92,10 @@ class MetaSetting(TranslatableModel): if obj: # if objects - generate fields from object_params field for key, value in self.object_params.iteritems(): - updates.update({key: getattr(obj, value, '')}) + if callable(value): + updates.update({key: value(obj)}) + else: + updates.update({key: getattr(obj, value, '')}) for key, value in params.iteritems(): # iterate through default params diff --git a/templates/c_admin/meta/meta_setting.html b/templates/c_admin/meta/meta_setting.html index 178cea8a..295f5bc9 100644 --- a/templates/c_admin/meta/meta_setting.html +++ b/templates/c_admin/meta/meta_setting.html @@ -23,6 +23,7 @@ Доступные параметры:
{object_name} - название события (выставки/конференции)
{object_title} - краткое описание события (выставки/конференции)/ заголовок новости или статьи +
{object_title_l} - краткое описание события (выставки/конференции)/ заголовок новости или статьи (с маленькой буквы)
{city} - город
{country} - страна