Все привет, пишу свой первый модуль, изза малого опыта програмирования на php не смог реализовать следующее:
Вот сам код модуля:
<?php
if ( ! defined( 'DATALIFEENGINE' ) ) {
die( "XXXXXXXXXX" );
}
$tpl->load_template('orders.tpl');
$tpl->compile('content');
$tpl->clear();
global $member_id;
include ENGINE_DIR . '/modules/orders/config.php'; // Подключаем настроки
$FILE = ENGINE_DIR . '/modules/orders/' . $orders_cfg['filename']; // Полный путь до файла
$mname = $member_id['name'];
$textRec = "текст для записи n"; // Текст для записи
function recording($FILE,$textRec){
if($fp = fopen($FILE, 'at')){ // Открываем файл для чтения и записи
fwrite($fp, $textRec); // Запись в файл наш $textRec
fclose($fp); // Закрываем файл
}else{
echo "ERROR!";
}
}
$file_array = file($FILE);
?>
У меня включено использование пхп скриптов в шаблонах сайта.
И вот код страницы где выводится модуль:
<?php
for($i = 0;$i <= count($file_array);$i++){
if($file_array[$i]){
echo $i+1 . 'строка_' . $file_array[$i] . '<br>';
}else{
recording($FILE,$textRec);
echo '<a href="#">Добавить отзыв</a>';
}
}
?>
Как видно мы со страницы обращаемся к функции "
recording" записи в файл , описанной в самом модуле, но он выполняет данную функцию сразу при загрузке страницы. Как сделать чтобы эта функция срабатывала только при нажатии ссылки "
Добавить отзыв" (находится под строчкой обращения к функции в шаблоне).
Заранее спасибо за помощью
Источник:
dle-faq.pro, DLE