ZebroidФорумПубличный разделВопросыПлагин - ключи и категория в заголовок

Плагин - ключи и категория в заголовок

12 февраля 2015, 16:02
Зарегистрирован: 20 июля 2011, 21:55
Здравствуйте, сделал по аналогии с другими,

<?php
  $lines = file(_utf8toansi($filename));
  $last_i = -1;    
  $count = zebroid_count();
  _pb_set_max($count);
  for($i = 0; $i<$count; $i++){
    _pb_add(1);
	$last_i++;
	if ($last_i >= count($lines)) $last_i = 0;
  	$title = zebroid_get_data($i, 'title');
	$line = $lines[$last_i];
    $title = $line . ': ' . $title;
    zebroid_save_data($i, 'title', $title);
  }  
  echo '<b>Обработка завершена!</b>';
?>


Комментарий отредактирован 3 раз(а). Последний раз редактировал redrabbit 16 февраля 2015, 10:53.
16 февраля 2015, 04:24
Зарегистрирован: 21 сентября 2010, 01:15
Если цель добавить ключи в title для cms, то советую делать это на уровне правки служебных файлов самой cms,
например для dle в файле engine/engine.php, исправив всего одну строку
{$metatags['title']} на
{$metatags['title']} {$metatags['keywords']}

БД будет на порядок легче, можно настроить вывод для определённых категорий или
задать количество выводимых меток в заголовке.

16 февраля 2015, 10:52
Зарегистрирован: 20 июля 2011, 21:55
Нет) Это совершенно для другого)
Только проблема обрисовалась, в капле макросе нету — группового переименования (((

Мне надо такую конструкция в заголовок.
Random_key: {{TITLE}} at {CATEGORY_TITLE}.

Нашел) И допилил.
UPD Обновил, теперь точно рандомный ключ и еще проверяет стоит ли чекбокс напротив статьи!
<?php
function loadFromFile()
{
  global $filename; 
  $f = file(_utf8toansi($filename));
  $array = array();
  $ifile = 0;
  foreach ($f as $str)
  {
  	$ifile++;
  	$array[ $ifile ] = trim( $str );
  }
  shuffle($array);
  $rand_keys = array_rand($array, 2);
  $rand_key = $array[$rand_keys[0]];
  return $rand_key;
}
  
  $count = zebroid_count();
  _pb_set_max($count);
   
  for($i = 0; $i<$count; $i++){
	if(!zebroid_is_checked( $i )) continue;
	_pb_add(1);
    
    if(zebroid_is_parent( $i ))
        continue;
      
    $parent = (int)zebroid_get_data($i, 'parent_id');
      
    if($parent == -1)
        continue;
    $parent = zebroid_get_rec_indx( $parent );
    $parent_name = zebroid_get_data($parent, 'title');
	
	$line = loadFromFile();
	$title = zebroid_get_data($i, 'title');
    $title = $line . ': ' . $title . ' at ' . $parent_name;
     
    zebroid_save_data($i, 'title', $title);
     
  } 
  echo '<b>Обработка завершена!</b>';
?>



Комментарий отредактирован 2 раз(а). Последний раз редактировал redrabbit 17 февраля 2015, 23:16. Причина: $count = zebroid_count(); а не zebroid_count_checked(); WTF!!!!