您没有提供任何代码,因此我将给您一些伪代码,您可以按照自己的意愿进行:
您的HTML按钮:
<a href="<?php echo $download_url; ?>" class="download-button<?php echo $is_disabled; ?>">Download</a>
现在,您需要为以下内容编写一些CSS样式规则:
.download-button{}
.download-button.disabled{}
使一个按钮看起来像一个明亮、充满活力、可用的按钮,使残疾人看起来呆滞和不可用,因为它不会。
最后,在PHP/模板中,您希望在加载按钮的HTML之前在某处运行以下内容:
if( is_user_logged_in() ) :
$download_url = \'https://thedomain.com/file-path/to-your/downloadable-file.pdf\';
$is_disabled = \'\';
else :
$download_url = \'\';
$is_disabled = \' disabled\';
//notice that there\'s a space at the beginning of \' disabled\'
//that\'s so the two classes don\'t merge into one string when you echo it out.
endif;
下面是发生的事情。
首先,我们不向访问者提供下载的值,因为精通技术的人可以很容易地查看源代码并获取下载URL,因此我们使用php变量设置为在呈现页面时向HTML提供不同的信息,同时对访问者是否登录进行条件检查。这就是PHP所做的。
CSS只使用.disabled 类以使按钮看起来不吸引人,并使其看起来不活动。人们可以随心所欲地点击它,但因为他们没有登录,所以它没有HREF值。
现在您没有问,但您也可以更进一步,在主脚本文件夹中添加一些类似的jQuery:
if( $( \'.download-button.disabled\' ).length > 0 ) {
$( \'.download-button.disabled\' ).on( \'click\', function(e) {
e.preventDefault();
alert( \'Please sign up to our site if you would like access to downloads.\' );
} );
}
如果链接/按钮具有
.disabled 我和全班同学发出了一条警告信息,以防万一。这看起来是半途而废,所以你可能会想弹出一条或滑出一条消息,其中包含更好的行动呼吁,也许还有一个表单和内容的链接。