0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 6589 Просмотров
*

bestel

  • Захожу иногда
  • 62
  • 5 / 1
  • Let the metal flow!...
Всем день добрый! Возникла необходимость прописать уникальные метаданные для каждой фото размещенной в DatsoGallery 1.6. Есть готовое решение или нужно разрабатывать с нуля? Заранее спс ::)
*

beliyadm

  • Moderator
  • 9631
  • 1658 / 66
  • Севастополь == Россия
добавить дополнительные поля по инструкции, только на выходе на морде не выводить эти данные а добавлять в метатеги
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

bestel

  • Захожу иногда
  • 62
  • 5 / 1
  • Let the metal flow!...
to beliyadm: О спс, сча скушаю *DRINK*
*

beliyadm

  • Moderator
  • 9631
  • 1658 / 66
  • Севастополь == Россия
ну и на всякий случай как добавлять в метатеги
$mainframe->appendMetaTag'description'$row->metadesc ); //добавляем metadesc
$mainframe->appendMetaTag'keywords'$row->metakey ); //добавляем metakey

где $row->metadesc и $row->metakey - соответствующие данные, полученные из новых полей
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

bestel

  • Захожу иногда
  • 62
  • 5 / 1
  • Let the metal flow!...
Мануал "как сделать так, чтобы ДатсоГалери индексился сиачботами" ;D (для Joomla 1.0.15 + DatsoGallery 1.6)

Новые поля в БД
1. Добавляем 2 новых поля в БД, metadesc и metakey, добавим сразу после поля "название картинки" (imgtitle)
Код
ALTER TABLE `jos_datsogallery` ADD `metadesc` VARCHAR( 250 ) NOT NULL AFTER `imgtitle` ;
Код
ALTER TABLE `jos_datsogallery` ADD `metakey` VARCHAR( 250 ) NOT NULL AFTER `imgtitle` ;

Добавляем нужные переменные в административной части
2. файл: administrator\components\com_datsogallery\globals.datsogallery.php

(строка такая-то, энтер значит, в конце этой строки ставим энтер)

Строка 71, enter
Код
$metadesc = mosGetParam($_REQUEST, 'metadesc', '');
$metadesc = mosGetParam($_REQUEST, 'metakey', '');


3. файл: administrator\components\com_datsogallery\class.datsogallery.php
Строка 13, enter
Код
var $metadesc=null;
var $metakey=null;


4. файл: administrator\components\com_datsogallery\admin.datsogallery.php
Строка 160
Код
$database->setQuery( "insert into #__datsogallery(....)
и добавляем в него по аналогии поле metadesc, metakey и переменную $metadesc и $metakey, должно получиться:
Код
$database->setQuery( "insert into #__datsogallery(id,catid,imgtitle,metadesc,metakey,imgauthor,imgtext,imgdate,imgcounter,ordering,imgvotes,imgvotesum,published,imgfilename,imgthumbname,imgoriginalname,checked_out,owner,approved) VALUES (NULL,'$catid','$imgtitle','$metadesc','$metakey','$imgauthor','$imgtext','$imgdate','0','$ordering','0','0','1','med_$org_screenshot_name','tn_$org_screenshot_name','$org_screenshot_name','0','$my->username',1)" );

Добавляем дополнительные метаполя
5. файл: administrator\components\com_datsogallery\admin.datsogallery.html.php
Строка 288, enter
Код
<tr>
 <td width="20%"><b>Мета-тег описание (description):</b></td>
 <td width="80%">
 <input class="inputbox" type="text" name="metadesc" size="39" maxlength="100" value="<?php echo htmlspecialchars( $row->metadesc, ENT_QUOTES );?>" /></td>
</tr>
<tr>
 <td width="20%"><b>Мета-тег ключевые слова (keywords):</b></td>
 <td width="80%">
 <input class="inputbox" type="text" name="metakey" size="39" maxlength="100" value="<?php echo htmlspecialchars( $row->metakey, ENT_QUOTES );?>" /></td>
</tr>

Добавляем новые метатеги в фронтенд
6. файл: components\com_datsogallery\sub_viewdetails.php
Строка 133, enter
Код
	. " a.metadesc, "
. " a.metakey, "

Строка 147
Код
list($id,$catid,$imgtitle,$imgauthor,$imgtext,$imgdate,$imgcounter,$imgvotes,$imgvotesum,$published,
    $imgoriginalname,$imgfilename,$imgthumbname,$imgowner) = mysql_fetch_row($list);

меняем на
Код
list($id,$catid,$imgtitle,$imgauthor,$imgtext,$imgdate,$imgcounter,$imgvotes,$imgvotesum,$published,
    $imgoriginalname,$imgfilename,$imgthumbname,$metadesc,$metakey,$imgowner) = mysql_fetch_row($list);

Строка 191, enter
Код
$mainframe->appendMetaTag( 'description', $row->metadesc );
$mainframe->appendMetaTag( 'keywords', $row->metakey );

Кайфуем yes!

П.С.: отдельное спасибо многоуважаемому гуру, beliyadm  *DRINK*
« Последнее редактирование: 26.07.2009, 11:37:19 от bestel »
*

otshelnik

  • Захожу иногда
  • 116
  • 7 / 0
  • мы вместе!
Цитировать
Добавляем новые метатеги в фронтенд
6. файл: components\com_datsogallery\sub_viewdetails.php
Укажите пожалуйста в какой отрезок кода вставить
Код
$metadesc = mosGetParam($_REQUEST, 'metadesc', '');
$metadesc = mosGetParam($_REQUEST, 'metakey', '');
для файла sub_viewdetails.php
(datsogallery версии 1.41)
В базу данных ключевые слова вставляются, а исходном коде не выводятся.
я сделал следующие изменения кода:
Код
    $database->setQuery( "select a.id, "				
    . " a.catid, "
    . " a.imgtitle, "
. " a.place, "
    . " a.imgauthor, "
    . " a.imgtext, "
    . " a.imgdate, "
    . " a.imgcounter, "
    . " a.imgvotes, "
    . " a.imgvotesum, "
    . " a.published, "
    . " a.imgoriginalname, "
    . " a.imgfilename, "
    . " a.imgthumbname, "
. " a.metadesc, "
. " a.metakey, "
    . " a.owner "
    . " from #__datsogallery as a "
    . " left join #__users as u on u.username = a.owner "
    . " where a.id = $id ");

Код
    $list = $database->query();

    if (count($database->loadObjectList()) < 1) {
    mosRedirect(sefRelToAbs("$dgurl&func=userpannel"), _DG_PICSLAD);
    }

    list($id,$catid,$imgtitle,$place,$imgauthor,$imgtext,$imgdate,$imgcounter,$imgvotes,$imgvotesum,$published,
    $imgoriginalname,$imgfilename,$imgthumbname,$metadesc,$metakey,$imgowner,$imgownerid) = mysql_fetch_row($list);

    $id_cache = array();

Код
    $query = "SELECT * FROM #__datsogallery where id = $id";
    $database->setQuery($query);
    $rows = $database->loadObjectList();
    $row = &$rows[0];
    $mainframe->setPageTitle ($row->imgtitle);
$mainframe->appendMetaTag( 'description', $row->metadesc );
$mainframe->appendMetaTag( 'keywords', $row->metakey );

    if ($ad_slideshow)
    require "$gallerydir/sub_slideshow.php";
*

bestel

  • Захожу иногда
  • 62
  • 5 / 1
  • Let the metal flow!...
Пардон, но для версии 1.41 ничего сказать не могу, так как не пробовал на ней. Как вариант, обновится вам до 1.6 и сделать то, что написал выше. Все должно работать;)
*

otshelnik

  • Захожу иногда
  • 116
  • 7 / 0
  • мы вместе!
Чудеса, да и только  ^-^, сегодня с указанным выше кодом, показывает мета теги. Авторам огромная благодарность  ^-^
*

bestel

  • Захожу иногда
  • 62
  • 5 / 1
  • Let the metal flow!...
Чудеса, да и только  ^-^, сегодня с указанным выше кодом, показывает мета теги. Авторам огромная благодарность  ^-^
Пользуйтесь ;)
*

reyD

  • Новичок
  • 8
  • 0 / 0
У меня после вышупомянутых действий пропало отображение центрального эскиза. А полей для редактирования тегов вообще нигде не нашел
*

bestel

  • Захожу иногда
  • 62
  • 5 / 1
  • Let the metal flow!...
У меня после вышупомянутых действий пропало отображение центрального эскиза. А полей для редактирования тегов вообще нигде не нашел
И что? Невнимательность. Не только у меня все работало, все разжевано по полочкам.
*

leko

  • Захожу иногда
  • 114
  • 4 / 0
Обидно, ничего не вышло  >:(

Захожу в галерею где превьюшки, нажимаю на фото, к этой ссылке добавляется /?mosmsg=%C2%FB+%ED%E5+%E0%E2%F2%EE%F0%E8%E7%E8%F0%EE%E2%E0%ED%FB. и вместо фото теперь открывается категория (галерея фоток)
*

auronn

  • Осваиваюсь на форуме
  • 45
  • 2 / 0
Блин. Отличная идея. А то без этого наверно плохо картинки в индекс попадают :(
Вот бы еще подобное на современной Datso сделать. На версии 1.10
А то даже в новых версиях файлы отсутствуют которые редактировать нужно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться